Zero to Hero: backend developer roadmap 2021
Originally published on: 2021 Backend Developer Roadmap
You don’t need to spend $10k on a Bootcamp to become a backend developer in 2021.
Whether you need to learn: Node, Express, SQL, NoSQL, REST, JSON, APIs, or the latest fancy technologies, you can do it for free, leveraging the power of the internet.
I’ve personally gathered, watched, tested, and reviewed thousands of resources, to come up with the only:
1. The Start of Your Backend Journey: Learn how the web works
Before starting your journey to become a backend developer, is strongly suggest to understand the main mechanics of the web, and how data exchange works:
- HTTP / HTTPS.
Those are only some of the concepts you’ll need to master, to kickstart your career and start building production-ready APIs.
Learn how the web works — A primer for newcomers to web development.
2. Backend Development: Fundamentals of Computer Science
Let me say one thing: fundamentals, are fundamentals.
Learning and understanding:
- How a computer works.
- How variables are stored.
- The differences between compiled code and scripts.
- What compile and runtime errors are.
- The principles of programming.
Is the key to properly understand the underlying mechanics of complex Backend Frameworks, and how to optimize your code towards the desired outcome.
Published by Harvard itself, this Free Computer Science Fundamentals Course is the best way to set the foundations of your development career starting from the basics.
3. Backend Development: Learn HTML and CSS
Even if you just want to develop fancy APIs and backend systems:
It’s key to learn how front-end development works and how to better serve its needs. To do so, you can start by learning some CSS and HTML.
There are an awful lot of amazing free resources about HTML and CSS out there, I’ve personally reviewed some:
3.1 Create a Portfolio: Develop Your First Project
Learning by doing is key.
We mainly learn by solving problems, to solve problems we need to practice, to practice we need to create projects.
Creating a Portfolio while walking your journey to becoming a backend developer, is a great way to both: practice and exercise what you learn.
Start by watching this tutorial on how to build your personal portfolio using just HTML and CSS.
You will have time to come back and add some proper backend, with its interactions, a database, and probably some data handling and exchange through APIs endpoints.
4. Store Your Backend Code in a Repo — Learn Git/Version Control
Git is an opensource version control system, that allows you to:
- Keep track of your changes.
- Back up your code.
- Avoid disastrous consequences.
- Collaborate seamlessly.
If hosted on a web service such as GitHub, it allows you to synchronize your code with collaborators, keeping your codebase(repositories) on the web, free to be moved between devices.
5. Learn the Fundamentals of Web Security
Unfortunately, the world is full of bad people ready to steal and use your data, and that of your customers. Knowing how to properly store and secure data and communications, is key for a backend developer.
Understand the fundamentals of web security and how to handle private information the right way:
- Basic Hashing.
Those are only some of the concepts you’ll work with while developing your backends and securing your API endpoints.
Learn the fundamentals of Cyber Security for free, in this amazing course by futurelearn.com.
7. The Start of Your Backend Journey — Node.js and NPM
NPM, is the Node Package Manager, responsible for handling, installing, and importing your Node.js based libraries.
Resources to learn Node.js:
8. Create Powerful APIs: learn Express.js
Even if you could potentially create full APIs just by using Node.js, this isn’t convenient.
Express comes to our help:
A minimal and flexible Node.js framework that will help you creating APIs effortlessly thanks to a myriad of HTTP methods and middleware. Express.js powers thousands of backends around the world, suitable for the most diverse REST APIs.
Learn Express.js with this free crash course by Traversy Media
9. Connect Your Backend to a Database
What’s the difference between SQL and NoSQL databases?
Should I use Postgres or MongoDB?
Databases are a huge part of backend development, as those are the places where your data will be usually stored.
Learning how to create, manage, edit and connect SQL and NoSQL databases, is key for a backend developer.
Learn the differences between SQL and NoSQL in this short YouTube video.
9.1 Should I learn NoSQL or SQL database?
As always: it depends.
Both systems have their pros and cons, which make them great in different scenarios.
My suggestion? Pick both a NoSQL and a SQL database to learn.
I’ve personally tried an awful lot of DB systems, ending up using:
- Postgre as a SQL DB.
- MongoDB as a NoSQL DB.
9.2 SQL Database: learn PostgreSQL
One of the most popular SQL databases of 2021: Postgre is an open-source DB system, with over 30 years of active development.
PostgreSQL has a strong reputation for reliability, feature robustness, and performance.
Start learning PostgreSQL for Free.
9.3 NoSQL Database: learn MongoDB
With over 12 years of active development, MongoDB is one of the most popular NoSQL Databases to date.
Hosted by AWS, Google Cloud, and Azure, MongoDB stores the data of thousands of tools and platforms out there.
10. Ship You Backend Faster: Continuous Delivery & Dev Ops.
Amazon famously delivers new code every 11.6 seconds. Just a few years ago, this was unthinkable.
This is thanks to Continuous delivery and Integration technologies: ways to ensure fast execution times, maximizing data gathering, and data-driven decisions.
DevOps stands for development and operations, and it’s a key skill to learn as a backend developer in 2021.
Learn DevOps from the University of Virginia, on Coursera for Free.
11. Learn by Doing: Create Projects
There’s no better way to retain notions than doing and solving problems.
Sometimes, finding backend projects to practice sounds hard though.
Here’s a list of 20+ backend projects ideas to give you some inspiration, on GitHub.
Just remember: backends are mainly comprised of APIs and Data Exchange, any project including those two domains, will do the job.
12. Start Monetizing as a Backend Developer
At this point, you should be able to set up a proper REST API and get paid for it.
The best thing about programming is that: is free to get started and pays a lot.
There are hundreds of ways to monetize your backend development skills. From open source to APIs monetization, from tech writing to YouTube channels.
Not a free resource but definitely worth the price:
Ten Ways to Make Money as a Developer, written by Florin Pop, is the best start to monetize your projects.
Great error handling, bug sorting, and code assistance, something a backend developer should know to create better APIs in 2021:
Backend frameworks introduce things such as SSG, SSR, or utilities to speed up your development.
- SSG -> Static Site Generation.
- SSR -> Server-Side Rendering.
- CSR -> Client-Side Rendering.
Learn more about backend rendering methods on YouTube.
Backend frameworks are usually based on front-end counterparts, such as React and Vue, strictly connecting your backend to your front-end.
There are many popular JS backend frameworks, such as:
15. React-Based Backend Frameworks: Next.js and Gatsby
React-based and Open-source, Next.js brings hybrid Static and Server-Side rendering to your backend development toolbox.
Learn React: https://youtu.be/j942wKiXFu8
Learn Next: https://nextjs.org/learn/basics/create-nextjs-app
Originally developed by Vercel.com, you might want to explore their free hosting services as well.
Gatsby is also a React-based open-source framework for creating websites.
Specialize in Static Websites such as Blogs and homepages.
Amazingly fast, gives you 2500+ plugins to kickstart your backend.
Learn Gatsby: https://youtu.be/Qms4k6y7OgI
16. Vue.js Based Backend Framework: Nuxt.js
Based on Vue.js, Nuxt.js is the Next.js counterpart (you don’t say?).
Modular, performant, and easy-to-use Nuxt.js implements Server Side and static rendering to your workflow.
17. Shift the Heavy Lifting To the Backend: Learn GraphQL
My grandpa used to say: “REST is Great, but GraphQL is lightweight”
Of course, I’m kidding but, simply put: GraphQL shifts the data handling coming from APIs, from the client -> to the server.
This means not more REST, but active data processing and filtering, directly in the backend.
Used by Nasa, Facebook, Airbnb, and GitHub, GraphQL is getting more and more traction in 2021.
18. Create Lighting fast APIs With Web Assembly.
WebAssembly is a new type of code that can be run in modern web browsers and provides new features and major gains in performance, to power backends.
It is not primarily intended to be written by hand, rather it is designed to be an effective compilation target for source languages like C, C++, Rust, etc.
19. Decentralize Your Backend With Web3.0
Learn Web 3.0 and get paid.
If you want to take a step further, I suggest you exploring the potentialities of Blockchain and Web3.0 development.
Blockchain Devs are paid: $140k/year on average.
Conclusion: Continue building projects
To learn how to code, though, a roadmap is not enough: you need to practice, and you can practice by building projects.
“The best way to learn is by solving problems” — Elon Musk
Solve problems, and you’ll get paid for it!