Dev Learning Path
The path from knowing nothing to contributing on a real software project — as two tracks that run in parallel and reinforce each other. Neither replaces the other.
The two tracks
Track A
Build things
- Intro programming One language's fundamentals — syntax, variables, control flow, functions, basic OOP. CS50
- The tooling gap Command line, a real editor, Git, and how the web works (HTTP). The layer intro courses and DSA silently assume. The Missing Semester (MIT)
- A project-based full-stack curriculum The big one — see below. You learn by building; it silently contains HTTP/APIs, Git, databases, frameworks, auth, testing, deployment, CI/CD. Odin · freeCodeCamp · Full Stack Open
- Engineering practice Reading an existing codebase, testing, debugging, code review, working in a team — learned mostly on real projects.
Track B
Understand the machine
- Data structures & algorithms Core structures, algorithms, and complexity — the problem-solving foundation. My Learning CS System — detailed notes, study protocols & course coverage →
- Systems foundations Operating systems, computer networks, and how databases actually work under the hood.
- Deeper theory Computer architecture, compilers, theory of computation, distributed systems. OSSU · Teach Yourself CS
Choosing your build curriculum
Track A, stage 3 is the one that matters most — and it's not "just projects": a good curriculum teaches HTTP, Git, databases, frameworks, testing, and deployment interleaved as a build needs them, which is why those layers never show up as their own line. Three clear the bar; here's what each actually contains, from their live syllabi. For which specific course to pick per language or framework — Python, Java, JavaScript, React, FastAPI, Spring Boot — see Course Picks by Language & Framework →.
Independent; local dev + Git from day one; ~26 projects; no certs. Plain JavaScript (no TypeScript). Mirrors real work.
Full Stack JavaScript path: Foundations (command line, Git, how the web works, HTML, CSS, JS basics, DOM) › Intermediate HTML/CSS › JavaScript (OOP, async, APIs) › Advanced HTML/CSS › React › Databases (SQL) › NodeJS (Express, PostgreSQL) › Getting Hired
Best for: learning to build from zero — most reps, strongest real-dev habits.
Guided, in-browser, test-driven, certificates. The gentlest ramp.
Certified Full-Stack Developer (6 certs → capstone): Responsive Web Design (HTML/CSS) › JavaScript › Front-End Development Libraries (React + TypeScript) › Python (language + DSA) › Relational Databases (SQL) › Back-End Development and APIs (Node/Express) › capstone project + exam
Best for: the gentlest zero-start; structure + credentials.
Univ. of Helsinki. Exercise-dense; goes deepest into professional practice. Not a from-zero course — starts at React.
Parts 0–14: Web-app fundamentals › React › Server communication › Node/Express › Testing + user admin › React testing + Router › Advanced state › Custom hooks/esbuild › GraphQL › TypeScript › React Native › CI/CD › Containers › Relational DB › Next.js
Best for: leveling up once you can already program — teaches the testing / CI-CD / containers layer the others skip.
How to trust a path
Spot a proven resource
Don't judge the content on its face — judge the signal around it. Battle-tested resources share these:
- Convergence — in multiple communities' recurring consensus, and A/B'd head-to-head against the other leaders ("X vs Y"). That mutual comparison is the proof — nobody compares a random tutorial to a leader. A single page or a unique take nobody echoes fails this outright.
- Named authority — a university, established nonprofit, or known practitioner. Anonymous = discount heavily.
- Open correction — lives where errors get fixed (a GitHub repo with issues/PRs, an active forum). A static blog can't self-correct.
- Reproduction / survivorship — thousands of documented completions and "I did this and got hired" stories. A path nobody finished is unproven.
- Incentive check — free/nonprofit, or at least not a funnel into a $12k bootcamp. Follow the money.
- Currency rule — fundamentals age slowly; tooling and framework guidance must be recent.
Red flags: "learn X in 24 hours," 30-minute certificates, covers every topic shallowly, no named author, ad-choked. Content farms rarely cite credible authorities — that's the tell.
Earn confidence — validate backwards from the gate
Picking the "best" path up front is low-leverage — the evidence says the specific curriculum barely predicts outcomes. Confidence is earned by testing against the real end-goal, early and often.
Then shorten the feedback loop to that gate — ranked by signal:
- Use a real job as the validator — an internship or job is the destination. Perform, watch what code reviews flag, notice what teammates take for granted. No course beats it as a signal.
- Mock interviews (interviewing.io, Pramp) — measured directly against the gate, and the single strongest predictor in the data. Start before you feel ready; the reps are the prep.
- Ship a real project, get a senior to review it — tests the "can you build" gate against a person already at the destination.
- Read the gate specs — target companies' job postings and their public interview processes. The literal end-state, written down.
Base rates over anecdotes: weigh audited outcome data — interviewing.io, the Stack Overflow Developer Survey, CIRR bootcamp placement — over any single success story. And when copying what top-placing programs do, copy the causal levers (intensity, project volume, gate-targeted interview prep, a networked job search) — not the brand. Their headline rates are inflated by selective admissions.
Quick reference — every source
Everything above, in one place — each solves a different slice.
| Source | What it's the answer to |
|---|---|
| roadmap.sh | The index / visual map — what to learn in what order. Keep it open the whole time. |
| CS50 (Harvard) | Track A · intro programming + a foundational taste of CS. |
| The Missing Semester (MIT) | Track A · the tooling gap — command line, Git, editor. Made because degrees skip it. |
| The Odin Project | Track A · build curriculum, from zero — project-heavy, real-dev habits. |
| freeCodeCamp | Track A · build curriculum, from zero — guided, in-browser, certs. |
| Full Stack Open | Track A · build curriculum — assumes you can code; deepest on testing / CI-CD / containers. |
| OSSU | Track B · a build-your-own CS degree from Harvard/MIT/Princeton courses. |
| Teach Yourself CS | Track B · the curated canonical textbook/course per CS area. |
| interviewing.io · Pramp | Validate · mock interviews against the real gate — the top predictor in the data. |
| professional-programming · r/learnprogramming wiki | Curated meta-lists — to find more, already filtered. |
Go deeper
Learning CS System → — my detailed notes, protocols, and course-coverage analysis for the Understand-the-machine track (DSA, fluency, university curricula).
Course Picks by Language & Framework → — choosing a build curriculum? This ranks what the community actually recommends most for Python, Java, JS, React, FastAPI, and Spring Boot by independent evidence — the same "how to trust a path" method applied per technology.
← Felipe Serra