What did you think of the video?
Comment Below

Video Transcript, Enjoy 🙂

Hello and welcome to another episode of iLoveCoding. In this lesson, I will give you the map to the world of Software Development.

In this map, I will show the nine main areas of software development and give you the concrete examples on what kind of work each software developer does.

Once you’ve learned about these nine areas, one or two things will happen; either you will clearly know which area you are most interested in and want to pursue or you will need guidance to pick an area to pursue.

If you are a person from the second group, continue reading and I will recommend you the area of development you should focus on.

Plus, I will give you the roadmap, the exact steps to take to learn how to code.

A fair Warning:

No one area is better than the other. People who say that this kind of development is better than the other are either junior people, biased or simply ignorant.

So let’s get started!

Language Compilers Dev

Number 1 on the list is language or compilers developer. These are like linguist of the programming world. Just like in linguist, a person works on the language, similarly in the programming world, there are developers who actually create languages. Those are language or compilers developers. These constitute do about 1% of all developers.

Embedded System Developers

Next on the list are Embedded System Developers. These are like 3% of developers on earth and they work with hardware developers, hardware manufacturers or hardware creators and write low level code that operate the hardware.

So think about raspberry pi or ATM chips sets, motherboards and different devices. Your keychain for your car, the computer chips for your TV, they’re software that are on those chips. These are the developers who create that.

OS developers

Next, there are OS developers, people who create operating systems like your Mac operating system or your windows operating system or Linus operating system and so forth.

These also constitute to around 3% of developers.

Data Science

Next in line are Data Scientists or Data Science Developers. These are developers who work in technology such as Python to make data models or artificial intelligence models that can predict certain things. So for instance – YouTube recommends you different videos based on your usage. Same with Twitter, same with Facebook, they will show you feeds. Instagram probably has the same thing.

This is one particular example where data scientists are developers who take a bunch of data, your usage usages and then create predictive models or models of intelligence that can predict certain things that you may like and so forth.

This is where things are going towards artificial intelligence in the future.

Video Games

Next in line are Video Games developers. This probably needs no introduction. These constitute to around 8% of software developers who create video games. When I say video games, I really mean the advanced video games that you play on your console or your computer which has all kinds of different graphics.

Video game developers usually work on a framework that they pick or they either will create a framework based on which they can create these kinds of advanced graphics and these interactions of video games.

Dev Ops

Next in line are Dev Ops, which is a newer name for system administrators. These kinds of developers write mini scripts or different smaller pieces of code that help to maintain a particular developing environment.

So let’s say you have a web application some kind of system administrator or dev ops is managing different machines in which the software application is running and the way its deployed throughout the internet.

The cloud management of the different service, how it’s deployed, how the backups happen and the stuff like that.

So they manage the workflow of the application deployed to a particular environment. Most of the time they’re not actively developing, they do development probably 10 to 20% of the time but most of the time they’re managing the process of the application infrastructure.

Dev ops constitute to around 11% of the developers.

Desktop Apps

Then we have Desktop Apps, these are developers who make applications like adobe Photoshop or the Mac calendar and the applications that run on your desktop for Windows, Linux or Mac computers.

Mobile Apps Developers

Next we have Mobile Apps Developers, who of course make applications for android, iOS and windows phone. These developers will typically work on technologies specific to; Let’s say if there are android developers, they will work with Java as a programming language and their tool sets that google provides for android development, or they’re going to use either Swift programming language or Objective-C to code in for iOS.

But lately, they’re using web stack which we are going to talk in more detail later on. Which actually helps them use one particular technology and still make applications for multiple platforms.

Mobile app developers constitute to around 20% of the web developers on the planet.

Web Apps (Front-End & Back-End Development)

Finally, the biggest chunks of development happen in the web apps space. So there are websites like Google, Facebook, Quora, Twitter, iLoveCoding or Youtube any kind of website or web app is built by these developers.

Which constitute to around 35% of the developers.

Web application developers are spilt into two major components. There are Front-End developers who create the look, feel and interactions of a website. So let’s say you go to a website like iLoveCoding.org or Google so the interactions on what happens when you click a button, what the look and feel of the website looks like is made by a front-end developer.

A back-end developer on the other hand is responsible for what happens with the background processes when you actually make the interaction with the front-end.

So let’s say you’re on iLoveCoding and you click on the login button, and developers are going to take your username and password and send it to the back-end, the back-end developer is then responsible to make sure that the user and password are actually correct users and passwords and if it’s correct, it’s going to validate that and then send the message to the front-end and say “hey, yes the information was correct, do whatever you want to do with it” and the front-end developer is going to say “okay, if it’s correct then I’m going to redirect them to a success message, or a home page or account management or whatever”

So that is how the front-end part of the web developers and the back-end developers work together to build a successful application. If you know both of these skills, you are considered a full-stack developer who can work on the back-end as well on the front-end of the website.

Disclaimer: I am not an expert on all of these areas of software development. In fact, I’m in the world of web and mobile development. I know a little bit of desktop and dev ops as well.

Overall, I can do professionally about 78% of all development. If your interest lies in any of the other areas like video games, data science, OS, embedded system or language compilers I am not the right person to give you an advice.

But if you want to build practical web and mobile applications and get a fast return on your time, I recommend you to start from learn web development first, particularly front-end.

Now if you want to learn the exact steps on how I learnt web development and made apps for united airlines, CVS health and multitude of other companies and some side projects on the side as well. You can join iLoveCoding and Become a Full Stack Javascript Developer. Where I will show you exactly those steps.

iLoveCoding is the simplest, most effective path to front-end & full-stack development.

Thanks for reading, leave your comments below and let me know what you think.

Author:

I, Aziz Ali, am a Serial Entrepreneur, Geek and a Learn-a-holic. I went from someone who literally hated programming to someone who now loves to code. Aziz went from the mindset of “Coding is not me” to becoming a Great coder, and now I welcome any coding challenge. I have launch dozens of websites, Worked with 3 Fortune 1000 Companies; Developed the United Airlines Airport Terminal Application, Developer Mobile Web Apps for CVS Health – All via Javascript and its awesome frameworks.

  • Jordan Berman

    Web Apps, FE – Next video tomorrow at noon?

    • Hey Jordan, Sorry I am behind on schedule on that video, Will be done next week

      • Jordan Berman

        No worries! Looking forward to it. When I find out if I am registered or not?

        • Registered to what?

          • Jordan Berman

            For the invite being delivered on 12/18,from there will we get into js?

          • Jordan Lets discuss this via support@ilovecoding.org, can you please email there, and I will respond

  • Sang Nguyen Nhat

    How can we get those statistic in Information field, Aziz?

    • What is an “Information Field”?

  • Ahmed Mo Kahen

    Thank you so much sir this was very helpful and life savior video~ but can all these types of developers go hand in hand, for instance can I specialize in Data science and use that to my web and mobile app dev to be ahead of some of the developers?

    • Development in general goes hand in hand.

      Data Science Developers focus on coding predictive models.
      They deal with consuming large amount of data and using it to find patterns.

      If you specialize in Data Science, you cannot just start building Web and Mobile apps the next day.

      You must invest time in understanding how Websites work, how to code so you communicate in the right way with the Web environment.


      Here is a good analogy
      A lawyer who specializes in Real Estate cannot simply jump into Family Law practice the next day.
      He/She must study the ecosystem around Family Law before going in.

      Being a lawyer help, but one must study a new specialization

      Hope this helps

      • Ahmed Mo Kahen

        understood sir ! thanks alot

  • Sara Richardson

    You are so DOPE! I truly appreciate what you are doing; teaching us who want to learn and sharing your knowledge. This video was GREAT, very helpful. Thank you Aziz 🙂

    • Thanks Sara 🙂
      Made my day 🙂

  • michaelprflores

    This was great! Thanks for the breakdown!

  • Very comprehensive

  • Iftekhar Mishu

    Excellent. thanks for the eye opener session