Should I Become a Full Stack Developer?
Should I Become a Full Stack Developer?

The really common question, that I get from the beginners is they want to become a full stack developer. And they want to know if it is possible to become a full stack developer when you just starting. This is why in this post let's clear it once and forever.

My typical answer to this question is "No, it is a bad idea to become a full stack developer, when you are a junior". And actually there is a real reason for this.

What you need to learn

Actually to become a full stack developer we are talking here about frontend technologies that you must learn and backend technologies. And additionally you might also learn some devops stuff to deploy your application.

This actually means we are talking about quite a lot of technologies here.

First of all from the frontend side we want to know at least JavaScript, HTML, CSS and one of the frameworks. For example: React, Angular or Vue.

As a backend developer you must know even more technologies. First of all you must know some backend language. Let's say it is NodeJS and then we use same JavaScript like on the frontend.

But still JavaScript on the frontend and on the backend, these are different things.

If we are talking about other language then additionally to JavaScript on the frontend you must learn another language on the backend. Then you must know how to build APIs, how to work with databases. And actually there are quite a lot of databases and you must know at least one or two. For example one relational, like maybe Postgres or MySQL and one document oriented maybe MongoDB. And additionally you might need to know different backend things like for example event emitter or delayed operations. Or maybe sending emails if it is needed for your project.

Plus it might happen in the company that you don’t have a dedicated guy to make all devops stuff. So, I am talking here about services and employment. And then a guy from the backend also needs to do this stuff.

  • HTML
  • CSS
  • JavaScript
  • React / Angular / Vue
  • NodeJS
  • API
  • Postgres
  • MongoDB
  • Delayed Jobs
  • Sending emails
  • Server management
  • Deployment
  • Docker

And now you are telling me "Ok I am a junior, but I really want to become a full stack developer". Just look on the screen, how many technologies you must know at least on some level to become a full stack developer. This is simply not a good approach if you are a junior.

Better approach

Much better approach is to focus on the one side, either on the frontend and on the backend. And you might say here "Ok, but I really want to be a full stack developer". It is not a problem you can learn these technologies later. But when you are just starting, you will be simply overwhelmed with the amount of technologies that you must learn. And if we are talking here just about backend or just about frontend you cut the technology list that you must learn in half.

And your next question here is for sure "Ok I got the point, but what should I focus on? Is it frontend or backend? And actually I highly recommend you to start with the frontend. The question is why? And I have 2 reasons for that.

  • First of all frontend is much easier for people to understand, when they are starting with programming. Why is that? Because actually on the backend you just see your terminal, you see some output in your terminal or you see some logs in files. It is not fun. And when you never did programming, it is simply boring. You don't see what you've done. And if you are starting with frontend, then you see some page that you built, you see some buttons, some colors. So, you really see some result of what you did and you can show it to other people.

  • Another reason is also super important. In all companies, when we are talking about web development, they are using JavaScript on the frontend. Because on the frontend we have only JavaScript. You don't have a lot of companies nowadays, where they don't use frontend and JavaScript. But when we are talking about backend, we have different languages there. We don't have just a JavaScript there like on the frontend. It can be Ruby, PHP, Java, JavaScript, whatever you prefer. The main point is that amount of companies where your specific language for the backend that you learned is used is really smaller, than when we are talking about frontend. So, with frontend you are getting 100% of the companies, which are doing web development. With the backend you might get like 10 or 5% of the companies, which are doing for example PHP.

Which actually means the amount of developers which are needed for the frontend is much higher than for the backend. Because you simply have more companies where you can fill frontend position.

Frontend vs Backend

What to learn for fullstack?

And your next question here will be for sure, "Ok I got it. I will start maybe with frontend. But what language I need to learn later for full stack? So, I know later not only frontend, but I can also work as a full stack".

Here obviously it will be easier for you to start with NodeJS in JavaScript in the backend. Simply because it is the same JavaScript language. Yes, it is completely different we are talking about backend stuff which is not related to the frontend. But actually you already know the language this is why it will be much easier for you to start with JavaScript on the backend. But here is the one important point.

From my perspective JavaScript on the backend is not the ideal language to start and understand all correct concepts that you must use on the backend.

This is why actually if you will learn full stack I highly recommend you to look on other languages. For example, on Ruby with Ruby on Rails or maybe on Python. They really have much better approaches to the code and frameworks than NodeJS with JavaScript.

Is it about money?

And my last question for you will be "But why do you want to be a full stack developer?" And actually most people here are saying "I want to be a full stack developer, because I want to earn more money. And I heard that full stack developers are earning much more money than frontend developers or backend developers, because they are doing all this stuff together".

And actually it is not true. It might be that full stack salary will be 10% higher than frontend or backend. But typically they are super similar. And you actually can find frontend positions, that are higher payed than full stack, because it is more needed. Also typically you have full stack in companies, which are not that big, because in the bigger company you have several people to fulfill these roles. You have at least one programmer for the frontend, one programmer for the backend and one programmer to work as a devops for deployment and service.

Frontend salary

Fullstack salary

Which actually means from my perspective it doesn't make any sense to become a full stack developer. Yes, it is really nice and needed to know how all things are working not only on frontend side, but also on the backend side. But from the money perspective it is not that interesting. And also if you are just a frontend or just a backend you can focus on just one thing, on your part that you are doing in your team. If you are a full stack developer you must cover everything and it can be really stressful.

And also if you are interested in my 5 tips, how to become a senior developer, make sure to check this post also.