Hey folks, My internship for a NodeJS developer started on January 03 2022. Here I'm going to share how I started with backend development.
I will share the roadmap that will require no prior knowledge of Web development but just a familiarity of programming is necessary. When I started I already knew few concepts of JavaScript, NodeJS and Rest APIs but anyway I started from the scratch to get the things right.
This is the roadmap I followed to become a backend developer.
— Vicky Panchal (@Vicky__Panchal) May 31, 2022
JavaScript
⬇️
NodeJS
⬇️
GIT
⬇️
TypeScript
⬇️
ExpressJS
⬇️
NestJS
⬇️
GraphQL
⬇️
Docker
⬇️
Hasura
⬇️
Some other stuff and projects.
Say 👋🏻 if you want all the links to resources that I used.
Before moving on to learning resources let's take some motivation why learning these thing matters.
JavaScript programming language is very convenient and straightforward for backend development, inspiring software developers to shift away from more complex and cumbersome options. NodeJS ensures that your app will not become obsolete in a few years, and it will be easy for other developers to understand your code.
Git is the most commonly used version control system. Git tracks the changes you make to files, so you have a record of what has been done, and you can revert to specific versions should you ever need to.
TypeScript is a superset of typed JavaScript (optional) that can help build and manage large-scale JavaScript projects. It can be considered JavaScript with additional features like strong static typing, compilation, and object-oriented programming.
Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
Nest (NestJS) is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with and fully supports TypeScript (yet still enables developers to code in pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming).
GraphQL is a powerful query language for APIs and a runtime for fulfilling those queries with your existing data. It's an elegant approach that solves many problems typically found with REST APIs.
Docker really simplifies how you develop and deploy your code, and run your application. Shipping your application into a container makes deployment and scaling smooth and drives automation. It makes DevOps easy and makes your production environment robust.
The Hasura GraphQL engine makes your data instantly accessible over a real-time GraphQL API, so you can build and ship modern apps and APIs faster. Hasura connects to your databases, REST servers, GraphQL servers, and third party APIs to provide a unified real-time GraphQL API across all your data sources.
Learning Resources
-
Javascript.info is one of the best website that teaches JavaScript in such detail, easily understandable and uses relevant examples to help you learn.
-
To make your understanding much better I would really suggest you watch the Namaste JavaScript playlist by Akshay Saini.
-
Nodejs.dev is all you need to learn about NodeJS.
-
For Git and GitHub this video by kunal Kushwaha will cover all that you need to know about Git and GitHub
-
Read the docs for TypeScript if you're still confused then I would recommend this udemy course by Maximilian Schwarzmüller, this is best selling course of TypeScript on Udemy.
-
Learning ExpressJS is optional here as we're going to learn NestJS but having fundamentals clear for Rest API could make easy for you to learn NestJS. I skipped the express part but their docs are wonderful, just go through that once.
-
NestJS documentation is a bit tough to undestand at first but once yoou get a hang of it, it's all you need. I first took the Udemy course by stephen grider which is one the course for Nest on the internet. After completing the course go through the docs to better understand the framework.
-
GraphQL appollo docs is one of the best documentation I have came across all the docs I have seen till now.Here's a link to official graphql docs.
-
For docker I went through this udemy course along with the Docker documentation. If you don't want to purchase the udemy course then this YouTube playlist is also awesome to learn Docker.
-
For Hasura you don't need to go anywhere other then their documentation, learning Hasura is completely option as not all companies use Hasura but it's like a cherry on the toppings. Learn Hasura from their official docs.
This is the complete roadmap I followed to become a NodeJS Backend Developer. Focus more on documentation and then if get stuck anywhere then only refer youtube or udemy course.
Along with this learning I worked on many tasks such as CRUD operation, Authentication, Authorization and created a few mini projects.
If you like this blog, have any question or you want to suggest any topic for future blogs, please fill out the form here