Front End Developer Roadmap 2024 - This Is What You Need to Know
In this post you will learn a frontend developer roadmap for 2024.
If you are a beginner and you don't know what you should learn to progress as a developer and you want to be sure that your choices are correct this video is for you.
I assume that you want to become a frontend developer. Actually this is a really nice choice because frontend nowadays is needed in every single company which are making any websites or online projects at all.
They might use different language on the backend like Java, PHP, Ruby or NodeJS but on client they will always use JavaScript.
Which actually means that frontend developers are needed in every single company and this job is in high demand.
Basic skills
So what do you need to know as a frontend developer? First of all HTML, CSS and JavaScript. For HTML and CSS I highly recommend you to just build markup for several websites on your own with and without frameworks.
After you are done with that you must learn Javascript. Why is that? This is the only language which exists inside frontend world. Yes we have things like Typescript but it is still being transpiled to Javascript at the end.
Javascript is an only language which is being executed in browser.
So learning Javascript on a good level is your bread and butter and you must really focus there. But it is not all. In last years we can see that traction is going in the direction of Typescript.
JS vs TS
Here is the most popular question that I'm getting my students.
Do I need to learn Javascript? Can I start directly with Typescript? Do I need to learn Typescript at all?
Here is the most important point. Javascript is needed and you can't really skip it and just jump to the Typescript. Typescript is created on top of Javascript. If you don't know Javascript you can't really master Typescript.
Typescript is just a sugar with data types around Javascript.
It is not a separate language. Which means first you must focus on learning Javascript and only after you learn it on a good level you invest your time in Typescript.
But do you really need to invest your time in learning Typescript? My answer here is yes but only we you already master CSS, HTML and Javascript. Why do you need Typescript? Because it is extremely popular knowledge and you are more valuable for companies where they are using Typescript.
Frameworks
Now let's talk about frontend frameworks. We have lots of them like React, Angular, Vue, Svelte and others. But here I really want you to focus not on hyped frameworks. You should not pick something like SolidJS because it is super performant or Svelte because it is popular and cool.
Please pick some framework which is really popular and with which you can earn money.
I would pick either React or Angular. And the most popular question that I get is obviously "Should I pick React or Angular?". I can't answer you this question because I have no idea where you live and what is the demand in your city. If you don't plan to work remotely you just need to check vacancies in your city because this is where you plan to work in the companies. If you find only React there and zero Angular vacancies does it really make sense to learn Angular? Obviously not. You must focus on the framework where you can find a job in your city.
Some people might argue here that it is just a framework, you should be able to jump easily from one to another. Sure experienced developer can just from one framework to another but the differences are still quite huge and the ecosystem is not small. Which actually means that you need to learn quite a lot to make this jump.
This is why I highly recommend you to focus just on a single framework based on demand of your city.
And please don't pick some framework where you can find just a single job like maybe Svelte.
It may be a good start for you but it might happen that in one or two years when you try to switch your job you can't find any companies which are doing Svelte for example. But you for sure will find lots of companies with React or Angular if you are located in a big city.
Which actually means that it makes a lot of sense to invest in framework which is heavily used in lots of companies so you can easier switch your job.
So if you can do HTML, CSS, Javascript plus Typescript plus one framework like maybe React you are already quite good to find a job. But to make it even more polished I highly recommend you to invest some time in learning state management for your framework. The solution like Redux
which is framework agnostic is a really nice idea.
For example if we are talking about Angular you might want to learn NgRx and with React it can be plain Redux.
Most importantly such state management solution can really help you to improve your code and you will be able to implement scalable applications.
If you know everything that I named here you can probably easily find a frontend job. But it should not end just there. You might want to improve it even further. It doesn't really make sense to spend more time on the frontend but it makes sense to look on backend, APIs, authentication, databases and other important stuff.
Why so many technologies?
Why do you need that if you plan to work as a frontend developer? You can be much more experienced if you know how your project communicates with the backend, how the data flow happens and what people on the backend are doing at all. It will teach you how to communicate with backend developers in your company effeciently.
When you improve your knowledge in the ecosystem around frontend you are becoming more knowledgable.
Then at some point you might want to switch from just frontend to fullstack if you want to do that. For example if you have lots of experience with Angular on the frontend and with Java on the backend there are some jobs which are really highly paid.
But here you for sure want to ask me which backend language of framework should you choose as a first choice. I would recommend you NodeJS, Express and MongoDB. Why is that? These are the easiest solutions to just jump there because you already know Javascript. Yes things are different on the backend but at least you don't really need to learn one more language.
After this if you learned all concepts with NodeJS and databases it is much easier to learn other stuff like Java later.
The last point which is super important is that you must know how to build the project from start to the end and deploy it to production. Which actually means you must not only know how to create client side of the project but also backend side, deploy your project and bind domain to it.
If you don't really know the full flow from start to the end how you can work as a developer?
Which actually means that you must invest some time in learning at least basics of deployment like configuring a server and uploading your project there. From technologies here you just start with the basics, you don't really need anything fancy, Nginx and a plain cheap linux server is totally fine but if you want to learn it deeper and do it more efficient I highly recommend you to invest some time in the Docker because it's an amazing solution to build isolated projects.
Want to conquer your next JavaScript interview? Download my FREE PDF - Pass Your JS Interview with Confidence and start preparing for success today!