Node.js Roadmap for Starter
But where should one start? 🤔
In this article I will try to draw a decent roadmap for the first steps in learning Node.js with the best resources I marked after learning it by myself.
1. First steps
Before you jump right into some courses or tutorials it’s always good to understand some basic things and prerequisites. It’s always good to read some info about the technology you want to learn and how it works in general.
In most of the cases and especially for the learning purposes you will definitely build REST APIs. That’s why I think you should learn just a bit about it before writing some code.
For some people it may sound weird but there are two things you need to understand.
Node.js is using a C library called libuv to implement the Event Loop. I think every developer should also know about it and have a basic understanding about this difference to avoid some mistakes in future.
Most courses and tutorials immediately start with building a simple server with Express. It’s not a big deal as you can run such a server with only 3 lines of code.
But what you should really care about is not how to create a CRUD server but how to work with Node.js. That’s why you need to learn some Node.js fundamentals before jumping to your first server. Official documentation is very nice so I recommend using it.
But if you're a visual person like me and you prefer to learn via videos, I recommend watching Mosh Hamedani Node.js tutorial for beginners:
3. Time to practice
There was a lot of theory before but I think it’s super important to build a strong and correct foundation before moving to active coding. This will help you to avoid some common mistakes in advance and write better code. I’ve passed a bunch of tutorials and here is the list of the most valuable in terms of the content quality and detailed explanations:
4. Advanced topics
The first three chapters should teach you how to work with Node.js and build any kind of apps. But it’s not the end of the journey. There’s a lot more to learn in terms of Node.js and backend in general. So I will give you a couple of hints and directions you will definitely need to check and learn deeper.
This is actually the topic from the fundamentals section but I just wanted to make an additional focus on it. Handling errors is important for the serve. If you will have some errors on the frontend side, in most of the cases the app will still be running (framework’s errors is another story). But Node.js server will crash. That’s why it’s very important to work with errors in the proper way.
I highly recommend learning more about how Node.js is working with threads. Especially to understand the difference between Worker threads, Cluster and Child process and their use cases.
Node.js speed and optimization
You should always care about your app speed and performance. If you have some troubles or you just want to optimize your server I recommend you to check the video below and do your own research.
Just make your app secure.
If you really want to improve your Node.js skills I would also recommend you to follow the Node.js YouTube channel and watch some conferences like NodeConf when they are active.
I hope this roadmap will me the Node.js learning path more clear for you. Wish you good luck in this journey!