Learning Roadmap — From Where to Where
Learning Roadmap — From Where to Where
There's no fixed answer to questions like "how many years to learn full-stack?" There are, however, frequently-cited visual references, frequent traps, and frequently-recommended orders. This article covers the source of the roadmap material, the trade-off between depth and breadth, an objective comparison of the five paths, the value of a first project, and ways to preserve learning.
1. Roadmap material
The most-cited learning roadmap is roadmap.sh. Started in 2017 by Kamran Ahmed as a GitHub repo (kamranahmedse/developer-roadmap), then expanded into a website and updated yearly. It maps out 30+ branches: Frontend, Backend, DevOps, Full Stack, Android, iOS, Data, AI, QA, and so on.
This material is a signpost, not a fixed course. It doesn't mean memorize every item; it's a map of "these concepts show up in this branch."
2. Depth vs breadth — the T-shape analogy
The T-shape job analogy comes up often. The horizontal bar is shallow understanding across multiple fields, the vertical bar is deep expertise in one:
┌──────────────────┐
│ breadth │ ← basics across techs (HTTP, DB, OS, Git)
└──────────────────┘
│
│ depth ← one specialty (e.g., React or PostgreSQL)
│
▼
Early on, both breadth and depth are shallow. Over time the breadth widens while the depth in one spot gets deeper. The phrase "T-shape engineer" comes from here.
There's no absolute order, but the often-recommended posture is "build one small project to completion in one branch, and fill in the missing breadth as it comes up."
3. The five paths
| Path | Core tools | Common output | Entry barrier |
|---|---|---|---|
| Frontend | HTML / CSS / JS, React / Vue / Svelte | Web pages, SPAs | Low (results are visible) |
| Backend | Node / Python / Java, DB, API | Servers, APIs, queues | Medium (more abstraction) |
| Full Stack | Both above + some infra | A whole small SaaS | Medium (broad surface) |
| DevOps / Cloud | Docker, Kubernetes, IaC, CI/CD | Deploy pipelines | High (lots of prereqs) |
| Data / AI | Python, SQL, pandas, PyTorch | Models, analysis reports | Medium (math, statistics alongside) |
Each path requires some basics from the others. Even Frontend rests on common basics like HTTP, the terminal, and Git.
Choice criteria:
- People motivated by visible results — Frontend feels natural.
- People interested in data and logic itself — Backend / Data.
- People interested in systems and automation — DevOps / Cloud.
- People interested in math, statistics, models — AI / Data.
A low entry barrier doesn't make that path easier as a job. Once we go deep, every path is wide enough to last a career.
4. The value of a first project
"Tutorial hell" is an informal expression for the state of endlessly following lectures and tutorials without writing a single line of our own code. Lectures are safe — there's nothing to get stuck on. Our own project gets stuck from the first line. That stuckness is the core of learning.
Recommended conditions for a first project:
- A tool we want to use ourselves — motivation lasts longer.
- A small scope finishable in 2 to 4 weeks — accumulating unfinished projects kills morale.
- Something different from the tutorial — copying line-for-line isn't learning.
Examples — "a web page that records the books I've read," "a small tool that suggests today's lunch," "a flashcard app." It doesn't need to be enviable. The experience of finishing once is itself an asset.
5. Preserving learning
To not forget what we've learned, we need somewhere to retrieve it from:
- Personal notes — Obsidian, Notion, plain text files. A searchable place.
- A blog — once written, the next time we get stuck on the same spot we can search our own writing.
- A GitHub repo — our code itself is a note. Writing intent in the README makes it better.
- Rebuilding — six months later, rebuild the same small project from scratch. We can see what's improved and what's still hard.
The distance between "learned" and "can use" is surprisingly large. The tools that close that distance are notes and replication.
6. Other paths
Beyond the typical roadmap:
- Computer science undergraduate curriculum — Harvard CS50, MIT OpenCourseWare. Years of deep foundation.
- Bootcamps — short and intense. Outcomes vary widely.
- OJT after joining a company — fastest learning. Depends on luck.
- Open source contribution — start from
good first issuelabels. See a living codebase.
7. The first 6 months (Frontend)
Weeks 1-2: HTML, CSS basics, one static page
Weeks 3-4: JavaScript basics, DOM manipulation, small interactions
Weeks 5-6: HTTP, fetch, JSON, page calling a public API
Weeks 7-8: Git, GitHub, push code to a remote
Weeks 9-12: One of React or Vue, breaking down components
Weeks 13-16: Routing, forms, state management, small toy app
Weeks 17-24: First own project x 1-2, deploy (Vercel, Netlify)
The duration varies a lot by person. Some take half this time, some take double. Compare with our own yesterday.
8. Common pitfalls
Trying to memorize the entire roadmap — the map is just a signpost. The actual road is walked.
Watching multiple courses at once — finish one before the next. Parallel runs end with both unfinished.
Switching paths with trends — bouncing React → Vue → Svelte → Solid every six months never builds depth. Stick with one for a year or so.
"I can't start because my basics aren't enough" — we don't know how much is enough ourselves. Start small and fill in the missing basics as they come.
Burnout — compressing a year's pace into a month collapses. 30 minutes a day for a year usually goes farther than 4 hours a day for a month.
Studying alone — fellow learners, mentors, and communities change learning speed dramatically.
Closing thoughts
A learning roadmap is just a signpost — the actual road is walked. Depth in one branch of the T-shape, breadth in basics from other branches. The experience of finishing one small first project is worth more than a hundred tutorials. 30 minutes a day for a year goes farther than 4 hours a day for a month.
Next
- debugging-mindset
- (end of learning)
roadmap.sh · developer-roadmap GitHub · The Odin Project · freeCodeCamp · CS50 (Harvard) · MIT OpenCourseWare · Teach Yourself Programming in Ten Years (Peter Norvig) · Atomic Habits (James Clear) · Hacker News · Lobsters · GeekNews · Dev.to · Hashnode for reference.