What is a JavaScript Developer?
A JavaScript developer uses JavaScript to build interactive features for websites, web apps and servers. JavaScript runs in every web browser, and with Node.js it also runs on servers, so it is used across the whole web.
Learning JavaScript is the foundation for frontend frameworks like React and Vue, backend tools like Node.js and Express, and even mobile and desktop apps.
How to use this javascript roadmap
Work through this JavaScript roadmap in order. The language has many features, so focus on the core ideas first and leave advanced topics for later steps.
Practise in the browser and in Node.js. Seeing your code change a web page is motivating, and running it on a server shows how flexible JavaScript is.
1Step 1: JavaScript basics
Learn the core syntax and how to run JavaScript in the browser.
What is it?
JavaScript is the language that runs in every web browser. Variables store values: use const for values that do not change and let for values that do. You can test code instantly in the browser console.
What to learn
Use the browser console to experiment. It is the quickest way to test small ideas.
Example
javascript
const celsius = 30;
const fahrenheit = celsius * 9 / 5 + 32;
console.log(`${celsius}°C is ${fahrenheit}°F`);
Converts a temperature and prints the result in the browser console.
Helpful resource: MDN: JavaScript first steps
2Step 2: Functions and scope
Organise code into reusable functions and understand where variables live.
What is it?
A function is a reusable block of code. Scope decides where a variable can be used. A closure is a function that remembers variables from where it was created, even after that code has finished.
What to learn
Closures sound complex but are used everywhere. Take time to understand them with small examples.
Example
javascript
function makeCounter() {
let count = 0;
return () => ++count;
}
const next = makeCounter();
next(); next(); // 2
The inner function remembers count, so each call adds one to the private value.
Helpful resource: javascript.info: Closures
3Step 3: Arrays and objects
Store and work with collections of data.
What is it?
Arrays store lists of values and objects store named properties. Methods like map, filter and reduce transform arrays without writing long loops.
What to learn
Most real-world JavaScript is about transforming arrays and objects. Practise these methods until they feel natural.
Example
javascript
const products = [{ name: "Pen", price: 2 }, { name: "Bag", price: 30 }];
const cheap = products.filter(p => p.price < 10);
const total = products.reduce((sum, p) => sum + p.price, 0);
filter keeps cheap items and reduce adds up every price.
Helpful resource: MDN: Array reference
4Step 4: The DOM and events
Change web pages with JavaScript and respond to clicks, typing and other user actions.
What is it?
The DOM (Document Object Model) is the browser’s live tree of the page. JavaScript can find elements, change their text or style and listen for events like clicks and key presses.
What to learn
This is where JavaScript becomes fun. Build small interactive widgets to practise.
Example
javascript
const img = document.querySelector("#photo");
document.querySelector("#next").addEventListener("click", () => {
img.src = "photo-2.jpg";
});
Clicking the Next button swaps the image shown on the page.
Helpful resource: MDN: The DOM
5Step 5: Asynchronous JavaScript
Handle tasks that take time, such as loading data from a server.
What is it?
Asynchronous code handles slow tasks, like network requests, without freezing the page. Promises represent a future result, and async/await lets you write that code in a simple, readable way.
What to learn
Async code is one of the hardest parts of JavaScript for beginners. Go slowly and practise with real APIs.
Example
javascript
async function getQuote() {
try {
const res = await fetch("https://dummyjson.com/quotes/random");
const { quote } = await res.json();
console.log(quote);
} catch (err) {
console.error("Could not load quote");
}
}
The function waits for the API, prints a quote and handles errors gracefully.
Helpful resource: javascript.info: Promises and async
6Step 6: Modern JavaScript and modules
Write clean, modern code and split it into modules.
What is it?
Modules split code into separate files that export and import functions. Modern syntax like classes, optional chaining and template literals keeps code short and clear.
What to learn
Modern syntax makes your code shorter and easier to read. Use it in every new project.
Example
javascript
// math.js
export const add = (a, b) => a + b;
// app.js
import { add } from "./math.js";
console.log(add(2, 3));
add lives in its own file and is imported wherever it is needed.
Helpful resource: MDN: JavaScript modules
7Step 7: Tooling and Git
Use the tools professional JavaScript developers rely on.
What is it?
npm installs packages, Vite runs and builds projects, and ESLint and Prettier keep code clean and consistent. Git saves your history and GitHub stores it online.
What to learn
Tooling can feel overwhelming. Learn just enough to start a project, install packages and format your code.
Example
bash
npm create vite@latest quotes-app
cd quotes-app && npm install
npm install -D eslint prettier
npm run dev
Create a new project, install linting tools and start a local development server.
Helpful resource: Vite guide
8Step 8: Node.js basics
Run JavaScript on the server and build simple APIs.
What is it?
Node.js lets JavaScript run outside the browser, on servers and your own computer. With Express you can quickly build APIs that send and receive JSON.
What to learn
Knowing Node.js lets you build full applications with one language. See our backend developer roadmap for more.
Example
javascript
import express from "express";
const app = express();
const quotes = ["Stay curious."];
app.get("/quotes", (req, res) => res.json(quotes));
app.listen(3000, () => console.log("Running on 3000"));
A tiny API that returns a list of quotes at /quotes.
Helpful resource: Node.js Learn
9Step 9: TypeScript and testing
Catch bugs early with types and automated tests.
What is it?
TypeScript is JavaScript with types, which catch mistakes while you type. Testing tools like Vitest run small checks that confirm your functions return the right values.
What to learn
TypeScript is now common in job listings. Learn the basics and use it in at least one project.
Example
typescript
export function add(a: number, b: number): number {
return a + b;
}
// add.test.ts
test("adds numbers", () => expect(add(2, 3)).toBe(5));
Types stop you passing text to add, and the test confirms the result.
Helpful resource: TypeScript documentation
10Step 10: Pick a path and build a portfolio
Use your JavaScript skills in a framework or on the server, and show your best work.
What is it?
With strong JavaScript, you can choose a path: a frontend framework like React, backend work with Node.js, or both. A portfolio of finished projects shows employers what you can do.
What to learn
Continue with our React roadmap or frontend developer roadmap to keep growing.
Example
json
{
"name": "my-portfolio",
"scripts": { "dev": "vite", "build": "vite build" }
}
The scripts section in package.json defines how your project runs and builds.
Helpful resource: Career advice in our latest articles.
JavaScript roadmap project ideas
Projects turn what you learn into real skills. Build at least one project from each level below, and put every finished project on GitHub with a clear README.
Temperature converter
Convert between units with input validation.
Image gallery
Next and previous buttons, thumbnails and a modal view.
Random quote app
Load quotes from an API with loading and error states.
Budget tracker
Track income and expenses with charts and local storage.
Quotes API with Node.js
Express API with validation, tests and TypeScript.
Browser game
A canvas game like Snake or Breakout with scores and levels.
Tips to finish this javascript roadmap
- Learn by building. Spend at least two thirds of your study time writing code and making projects, not watching videos.
- Be consistent. One focused hour every day beats a long session once a week. Small daily progress adds up quickly.
- Share your work. Post your projects on GitHub and LinkedIn. It builds your confidence and helps recruiters find you.
- Ask for feedback. Join a community, ask questions and review other people’s code. Explaining things to others is one of the fastest ways to learn.
- Do not chase every new tool. The fundamentals in this javascript roadmap change slowly. Master them first, then explore new libraries.
Career paths and next steps
After this JavaScript roadmap, you will be ready to learn a framework such as React, or to move into backend work with Node.js. Many people use JavaScript as the base for a full stack career.
Good next steps are the React roadmap and the full stack developer roadmap.
Related roadmaps
JavaScript Roadmap FAQs
How long does it take to learn JavaScript?
You can learn the basics in a month or two. Becoming confident enough for a job usually takes 4 to 6 months.
Is JavaScript hard to learn?
The basics are easy to start with. Some topics, like async code and closures, take more practice, but a step-by-step plan helps a lot.
Can I get a job with only JavaScript?
JavaScript is the core skill, but most jobs also expect HTML, CSS, Git and a framework such as React.
Should I learn TypeScript instead of JavaScript?
Learn JavaScript first. TypeScript is built on top of it, so it is much easier once you know JavaScript well.