Months one to three: fundamentals
Start with HTML and CSS, and resist every instinct to skip ahead. A developer who cannot lay out a page without a framework is unemployable in a way that is obvious in the first ten minutes of an interview. freeCodeCamp's Responsive Web Design certification is the most reliable free starting point because it forces five projects through automated tests.
In parallel, set up a real development environment. The Odin Project's Foundations course covers the command line, Git and GitHub, which every job assumes and almost no beginner course teaches.
Months four to eight: the long middle
This is where most people quit. JavaScript takes longer than anyone expects, and the temptation to jump into React to feel productive again is enormous. Do not. A framework learned on top of shaky fundamentals produces code that breaks in ways you cannot debug.
Work through a full JavaScript curriculum, then — and only then — pick React. Once you can build without a framework, learning one takes a fortnight rather than a quarter.
- Build something small every week, even badly
- Read other people's code — open source pull requests are free tuition
- Keep a list of every bug that cost you an hour; patterns emerge fast
Months nine to twelve: portfolio and applications
Three finished, deployed projects beat twelve half-built ones. Each should solve a problem you actually had, be deployed at a URL a recruiter can open, and have a README explaining the decisions you made.
Start applying before you feel ready. The gap between 'ready' and 'employed' is usually filled by interview practice, not by another course.