Node.js Roadmap

A step-by-step Node.js roadmap: what to learn in order, the related skills and the best places to learn each step.

The stack, end to end

  • Frontend: JavaScript, DOM and events, Promises and async/await, ES modules, Fetch API
  • Backend: Node.js, npm, Asynchronous programming, Environment variables, Express.js, Routing and middleware, Validation, Error handling, REST API design, JSON, HTTP methods and status codes, API documentation, Authentication, JWT and sessions, Password hashing, OWASP Top 10, Input validation
  • Database: MongoDB, Mongoose, Aggregation pipeline, Indexes, Data modelling
  1. JavaScript

    Suggested pace: Start here

    JavaScript makes pages interactive and also runs on servers. Learn the language properly: types, functions, scope, objects and arrays, the DOM, events, promises and async/await, and modules.

    Skills

    • JavaScript
    • DOM and events
    • Promises and async/await
    • ES modules
    • Fetch API

    Tips

    • Build small things (a to-do list, a quiz, a weather widget) before jumping to a framework.

    Where to learn

  2. Node.js

    Suggested pace: Next

    Node.js runs JavaScript on the server. Learn modules, the file system, environment variables, asynchronous code, and building a server that talks to a database.

    Skills

    • Node.js
    • npm
    • Asynchronous programming
    • Environment variables

    Tips

    • Keep secrets such as API keys in environment variables, never in code you commit.

    Where to learn

  3. Express and building a web server

    Suggested pace: Then

    Express is the most common Node.js web framework. Learn routing, middleware, request validation, error handling and serving JSON to a frontend.

    Skills

    • Express.js
    • Routing and middleware
    • Validation
    • Error handling

    Tips

    • Return the right HTTP status codes. Clear errors save hours of debugging.

    Where to learn

  4. REST APIs

    Suggested pace: After that

    An API lets a frontend, a phone app or another system talk to your backend. Learn resources and HTTP methods, status codes, pagination, versioning and how to document an API. Add GraphQL later if you need it.

    Skills

    • REST API design
    • JSON
    • HTTP methods and status codes
    • API documentation

    Tips

    • Test every endpoint with a tool such as Postman before building a frontend on it.

    Where to learn

  5. MongoDB and document databases

    Suggested pace: Later

    MongoDB stores flexible JSON-like documents. Learn collections, queries, indexes, the aggregation pipeline and how to model data when relations are not enforced for you.

    Skills

    • MongoDB
    • Mongoose
    • Aggregation pipeline
    • Indexes
    • Data modelling

    Tips

    • Design documents around how the app reads them, and remember that indexes matter just as much as in SQL.

    Where to learn

  6. Authentication and web security

    Suggested pace: Later

    Learn how logins work (hashed passwords, sessions, tokens), how to restrict who can see what, and the common web attacks: injection, cross-site scripting and broken access control.

    Skills

    • Authentication
    • JWT and sessions
    • Password hashing
    • OWASP Top 10
    • Input validation

    Tips

    • Never store plain-text passwords, and never trust data coming from the browser.

    Where to learn

Frequently asked questions

Where should I start with Node.js?

Start at step 1 and work down in order, because later steps build on earlier ones. If you are signed in, the roadmap compares your resume with each step and marks where you could start.

Is Node.js worth learning?

Check how many job adverts in your area mention Node.js, and whether it fits the kind of work you want. This roadmap shows what to learn; the Browse jobs page shows what employers are asking for.

How do I know I am ready to apply?

When you can build a small project from start to finish without copying a tutorial, and explain why you made your choices. Apply while you keep learning; you do not need to know everything.