JavaScript Roadmap
A step-by-step JavaScript roadmap: what to learn in order, the related skills and the best places to learn each step.
The stack, end to end
- Fundamentals: HTTP and HTTPS, DNS, Browsers, Client and server
- Frontend: HTML, Semantic markup, Forms, Accessibility basics, CSS, Flexbox, CSS Grid, Responsive design, Tailwind CSS, JavaScript, DOM and events, Promises and async/await, ES modules, Fetch API, TypeScript, Interfaces and types, Generics
- Backend: Node.js, npm, Asynchronous programming, Environment variables
How the internet and the web work
Before writing code, understand what happens when you open a web page: browsers, servers, DNS, HTTP requests and responses, and what a URL is made of. Everything else you learn sits on top of this.
Skills
- HTTP and HTTPS
- DNS
- Browsers
- Client and server
Tips
- Open your browser developer tools, go to the Network tab and watch the requests a page makes.
Where to learn
- MDN: How the web works (docs, free)
- web.dev Learn (course, free)
- Cloudflare: Learning Center (docs, free)
HTML: structure of a web page
HTML describes the content of a page: headings, paragraphs, links, images, lists, forms and tables. Learn semantic tags and accessibility basics so pages make sense to people, search engines and screen readers.
Skills
- HTML
- Semantic markup
- Forms
- Accessibility basics
Tips
- Build a simple page with no styling first. If it reads well plain, the structure is right.
Where to learn
- MDN: HTML (docs, free)
- freeCodeCamp: Responsive Web Design (course, free)
CSS: layout and design
CSS controls how a page looks: colours, fonts, spacing, Flexbox and Grid layouts and responsive design for phones and desktops. Add a utility framework such as Tailwind once the basics are clear.
Skills
- CSS
- Flexbox
- CSS Grid
- Responsive design
- Tailwind CSS
Tips
- Test every page at phone width first. Most visitors are on phones.
Where to learn
- MDN: CSS (docs, free)
- web.dev: Learn CSS (course, free)
- Tailwind CSS docs (docs, free)
JavaScript
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
- javascript.info (course, free)
- MDN: JavaScript (docs, free)
- The Odin Project: JavaScript (course, free)
TypeScript
TypeScript adds types to JavaScript so many mistakes are caught before the code runs. It is now common in frontend and Node.js teams. Learn basic types, interfaces, generics and how to type API data.
Skills
- TypeScript
- Interfaces and types
- Generics
Tips
- Turn a small JavaScript project into TypeScript to learn quickly.
Where to learn
- TypeScript documentation (docs, free)
- TypeScript handbook (book, free)
Node.js
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
- Node.js: Learn (docs, free)
- The Odin Project: NodeJS (course, free)
Frequently asked questions
Where should I start with JavaScript?
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 JavaScript worth learning?
Check how many job adverts in your area mention JavaScript, 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.