← FreeCareerPath
Foundations
For starting from zero. This roadmap gets you from no programming background to a small, finished project you can talk about in an interview — without pretending you already know what a career changer or self-taught beginner rarely does.
Foundations progress: 0/12 complete (0%)
- 01
Learn how the web actually works
Before writing code, understand the machine you're writing it for.
- What happens when you load a web pageThe request/response loop behind every website — the mental model everything else builds on.
- Set up a real dev environmentA code editor, a terminal, and version control — configured once, used every day after.
- Command line basicsNavigate, create, and move files without a mouse — every real workflow assumes this.
- 02
Programming fundamentals that transfer
Language-agnostic building blocks — learn them once, reuse them in every language after.
- Variables, types, and control flowStoring data and making decisions — the two things every program does.
- Functions and thinking in small piecesBreaking a problem into named, reusable pieces instead of one long script.
- Reading code you didn't writeThe most underrated beginner skill — you'll spend more time reading code than writing it.
- 03
Ship something small, end to end
One finished project beats five abandoned tutorials. This is the 'Do' most self-learners skip.
- Scope a project you can actually finishPick something small enough to finish in days, not months.
- Build without a tutorial holding your handUse docs and search, not a step-by-step video, to build this one.
- Debug systematically instead of guessingForm a hypothesis, test it, narrow it down — not random changes until it works.
- 04
Get it in front of people
A project only counts as portfolio evidence once someone else can find and understand it.
- Put your project on GitHubVersion control your work and make it visible — this is table stakes, not optional polish.
- Write a README a stranger can followWhat it does, why, and how to run it — assume the reader has 30 seconds.
- Ask for feedback that's actually usefulSpecific questions get specific answers — 'is this good?' doesn't.