Sanyam Kumar
Sany's Blog

Sany's Blog

Getting Started with Software Development

and Who does What

Sanyam Kumar's photo
Sanyam Kumar
·Jan 3, 2021·

8 min read

Getting Started with Software Development

If you’ve ever considered building an app or making a website you are probably wondering how does this whole world fits together. Do you know what do I need to learn? What tools do I need to use? and how do they all fit together so that the basic premise is you have mobile apps, websites, and web apps, and depending on what you want to build? You’ll learn different things, so let’s say that you’re interested in building mobile apps you know those are things like Instagram or LinkedIn or games if you want to build a mobile app, then you decide which type of phone or mobile device do you want to use so do you want to have it available on an iPhone and an iPad or an Android phone or Android tablet.

Once you decide you want to build an iPhone app for instance then you would learn something called iOS, you need a Mac to do that and then you use a free tool called Xcode and you make apps using Objective-C. Instead of Objective-C, now people are started to use Swift. The way you sell those apps is in the App Store so you upload it to the App Store and then Apple okay’s it or doesn’t, hopefully, they’ll hit it, and then it goes in the store, and then you can charge real money for that and launch your app.

That way the next thing is if you decide to make an Android app. If you are going for an Android phone or an Android tablet, then you are building for Android. Android is the operating system of those devices and the tool that you use is usually like eclipse or Android studio. The actual language that you use to build those apps is called Java. And for the language of Android Apps development, Besides “Java”, a new language called Kotlin is started to gain popularity Maybe in a few month or years, people will abandon Java and goes for Kotlin, so better to do some more Google search before spend all your time into either Java or Kotlin for Android development. so that is the basic idea of mobile apps you code in these specific languages in these specific tools and then people download your apps from the Google Play Store and they pay for them.

That way now says instead you would rather build a website so you want to build a website for your restaurant or your dad’s business or your school. The tools that you use to build websites are basically a text editor and then you save your files and then you upload them to the Internet. The languages you need to learn are called HTML, CSS, and a little bit of JavaScript. Those are some of the easiest things to learn initially, you don’t have to do a lot of programming or a lot of technical things. They’re fairly straightforward so that’s how to build a website.

Now say that you want to build a website but you want people to interact with it. You want them to log in or you want them to know friend people or like things or create accounts. All those things turn that website into a web application. You know something that you interact with and examples that are you know things like Facebook, Google Maps is a good example. It’s very interactive. So if you want to build something like that first of all you pick a language to build it in.

Your choices are things like Node.js, Ruby, Python, Java there’s more but those are some of the most common ones. Once you pick a language then you would also pick a database. A database is a thing that holds all the information on the site. When you create an account and a password that is stored in the databases like Oracle, SQL, MongoDB. The tools used to make web apps are also text-based so you have text editors like VS Code, Atom, Sublime. and then you save your files and then you upload them to the internet. It’s similar to making a website but you use more powerful languages to make things happen. So we’ve covered so far mobile apps, websites, and web apps.

Now let’s address a little bit more about the types of jobs that you might get in those fields. All three of those things require three types of people. The first is a designer, the second is a front-end developer and the third is a back-end developer. A designer thinks about the way things look and how they work. They use tools like Photoshop, Illustrator various tools like that. They design it and they make it look great and then they hand it over to the next person which is a front-end developer. A front-end developer is some who takes that design. They chop it up and translate it into the code and they use tools like HTML CSS and JavaScript. Now, what’s happening more and more of those designers and front-end developers are becoming the same person. So at MNCs, they only hire designers that are also front-end developers so eventually it pays off to know both those skills. And then you have back-end developers, so a front-end developer will chop up the design and make it ready but it won’t work. You can look at it but you can’t log in or you can’t create an account that type of thing. So the back-end developer takes that and then they wire it up quote-unquote, they connected to the database, they write code to make the app work and function. They’re using tools like Node.js, Ruby, Python, Java things like that.

So that is the basic overview of how this fits together. It can be confusing at first but once you understand that there are these basic buckets, you know okay I want to make a mobile app or I want to make a website or I want to make a web app once you decide which of those three things you want to do then you can go down a track and learn it.

Happy Learning

Share this