JavaScript — Learning Roadmap
Estimated Time to Job-Ready
8-12 weeks of consistent learning (1.5-2.5 hours/day), assuming no prior programming experience. Faster (4-6 weeks) if you already know another programming language and are mainly learning JavaScript's specific syntax and async model.
Phase 1: Core Syntax & the DOM (Week 1-3)
Get comfortable with the language itself before touching anything asynchronous.
let/const), data types, operatorstextContent and attributesCheckpoint: Can you build a page where clicking a button changes visible text on the page, with no page reload — from scratch, without copying a tutorial?
Phase 2: Asynchronous JavaScript & ES6+ (Week 4-6)
This phase is where most real JavaScript competence is actually built — async is where the language gets genuinely hard.
async/await — in that order, so the "why" of each step is clearfetch() and working with a real public APIimport/export modulestry/catch) for both sync and async codeCheckpoint: Can you fetch data from a real public API, handle a failed request without the page breaking, and display the result in the DOM?
Phase 3: Depth & Production Patterns (Week 7-9)
class syntaxCheckpoint: Can you explain, out loud, why setTimeout(fn, 0) doesn't run "immediately," using the words "call stack," "microtask queue," and "macrotask"?
Phase 4: Interview Ready & Portfolio (Week 10-12)
Checkpoint: Given a live coding prompt ("debounce this search input," "fix this race condition"), can you solve it in under 15 minutes without looking anything up?

