Contact, if you are interested in this website / domain name / Sponsorship / Advertisement / Partnership
HomeLearnToolsRoadmapVideosBuildSponsorshipAboutContactStart a project

The self-taught developer roadmap

Eight steps from knowing nothing to writing code someone will pay for. Click a step to see what it covers, how long it realistically takes, and the test for whether you are ready to move on. Double-click a step, or use the button, to mark it complete — progress is stored in your own browser only.

How to use this

The order matters more than the speed. Each step assumes the previous one, and the most common reason people stall is skipping ahead — usually straight to a framework, before the language underneath it makes sense. When that happens every error has two possible causes and no way to tell them apart.

The time estimates assume roughly ten hours a week. At that pace, the whole path takes most people nine to fifteen months. Going faster is possible with more hours; going slower is fine and extremely common.

Build things, not just lessons

Finishing a tutorial feels like progress and often is not. The learning happens when you build something that was not in the tutorial, get stuck, and work out why. After each step above, build one small thing from scratch — no tutorial open — even if it is ugly. A page about something you like, a script that renames your files, a form that saves to a list.

A portfolio that actually helps

Three finished projects beat twenty abandoned ones. Each should be live at a URL, have its code in a public repository, and include a short description of what problem it solves and what you learned. One of them should solve a real problem for a real person, even if that person is you — the difference between a to-do app clone and something genuinely used is obvious to anyone reading your work.

When you get stuck

Read the error message, properly and all the way through. Reduce the problem to the smallest code that still fails. Check the official documentation before searching for a blog post. Then ask somewhere public, with the code, the error and what you have already tried. Being stuck for two hours is normal; being stuck for two days without asking is not.