Most "learn to code in 6 months" plans collapse against contact with reality. The honest version is closer to twelve to eighteen months of disciplined work, and even that assumes you're putting in real hours, not Pomodoro-while-Netflix-plays hours. This plan is what we'd hand a friend who asked us to map out the most efficient self-taught path to a first paid software job.
It's structured around the four phases that actually move the needle: foundations, building, specializing, and applying. No bootcamp required. The total time commitment is roughly 15, 25 hours per week. If you can do more, you'll finish sooner. If less, the plan stretches but still works.
Before you start: set the right expectation
The Stack Overflow 2024 Developer Survey found that around half of developers learned to code online without a formal degree. Self-taught works, but the people who succeed share three traits: they ship things publicly, they ask for feedback often, and they don't try to learn everything before building anything.
The single most common failure mode for self-taught learners is "tutorial purgatory", endlessly consuming courses without ever building anything from scratch. Your goal is to escape it as fast as possible.
Months 1, 3, Foundations
Goals
- Comfort in the terminal and with Git
- Solid grasp of one programming language
- HTML, CSS, and basic JavaScript on the frontend
- Understanding of how the web works
What to do, week by week
| Weeks | Focus | Resources |
|---|---|---|
| 1, 2 | Terminal, file system, Git basics | MIT Missing Semester (free) |
| 3, 6 | One language deep, JavaScript or Python | JavaScript.info or freeCodeCamp Python |
| 7, 9 | HTML & CSS, build 3 static landing pages from designs | web.dev Learn CSS, Frontend Mentor challenges |
| 10, 12 | Vanilla JavaScript DOM, fetch API, build 2 small apps | JavaScript30 by Wes Bos |
Output by end of Month 3
Three to four small projects on GitHub. A README on each. A clean Git history with sensible commit messages. You should be able to spin up a new HTML/CSS/JS project from scratch without a tutorial open.
Months 4, 6, Build, build, build
This is where most learners stall. They feel they "should know more" before building. They don't. Build through your discomfort.
Goals
- One major frontend framework (React via Next.js is the safest pick)
- Backend basics, REST APIs, authentication, a database
- Three real projects deployed to the public internet
The three projects
Project 1, A productivity tool you'll actually use. Budget tracker, workout logger, reading list, anything. Auth, CRUD, deploy to Vercel. Push everything to GitHub. The constraint: it must solve a real problem you have.
Project 2, Something with a third-party API. A movie tracker pulling from TMDB. A weather dashboard with a maps overlay. A Spotify playlist analyzer. Proves you can read API docs and integrate.
Project 3, A small SaaS-style app with payments. Stripe sandbox, even a $1 product. Auth, paid plan, basic admin view. This is the project recruiters will actually click on.
For inspiration on what "production-grade" looks like at the SaaS level, see our SaaS cost breakdown, your project doesn't need to be that polished, but knowing the bar helps.
Months 7, 9, Specialize and contribute
Goals
- Pick one specialization and go deep
- Make your first open-source contribution
- Start writing publicly about what you're learning
Pick a track
By month 7 you have enough context to choose. Frontend specialist, full-stack, backend, mobile, or one of the deeper tracks like AI or DevOps. Our breakdown of AI vs Web vs Cloud careers compares the tracks honestly.
Contribute to open source
Find one library you've actually used. Look at its issues tab, filter for "good first issue" or "help wanted". Fix one bug. The contribution doesn't need to be impressive, it needs to exist. GitHub's Octoverse 2024 reported that the platform crossed 518 million projects with first-time contributors driving most of the growth. You will fit in.
Build in public
Tweet what you're learning. Write a short LinkedIn post each week. Publish two or three short technical blog posts on your own domain. This becomes your audience, your credibility signal, and, surprisingly often, the channel through which your first job offer arrives.
Months 10, 12, Apply, interview, land the role
Set up the application machine
- One-page resume. PDF. Projects above experience.
- GitHub profile cleaned up. Pinned repos = your three best projects.
- Personal site (built with the framework you specialized in, meta-credibility).
- LinkedIn complete and rewritten in software-engineer language.
Apply with volume and discipline
The Stack Overflow 2024 survey found the median developer applied to 21 jobs before landing an offer. Plan for 80, 150 applications. Track them in a spreadsheet. Prioritize roles that match your specialization, but don't be precious, agency, startup, mid-market, and remote-first companies are all valid first jobs. Companies like DevEntia hiring across full-stack, AI, and cloud are often more responsive than household-name applications.
Interview prep
| Stage | Prep | Time per week |
|---|---|---|
| Screen / behavioral | STAR-format answers for 8 common questions | 2 hours |
| Technical screen | LeetCode easy + medium (50 problems total) | 5, 8 hours |
| Take-home project | Set a 4-hour budget, ship it clean | varies |
| System design (mid+ roles) | Skip for first job, uncommon at junior level | 0 |
Bootcamp vs self-taught: the honest answer
Bootcamps work for some people, fail for others. The Course Report 2024 outcomes data shows reputable bootcamps still place 70, 80% of graduates within six months, but the median outcomes are quietly less impressive than ten years ago, saturated junior market, more competition.
Self-taught works if you have: discipline to put in 15+ hours a week, comfort with ambiguity, and the patience for a slightly longer ramp. Bootcamp works if you need: external structure, peer accountability, and you can afford the $10k, 18k tuition (and three months of unpaid living costs). Neither is universally better.
What to skip
- "Learn 100 frameworks" listicles. Pick one. Go deep. Add later.
- LeetCode-grinding before you can build a basic CRUD app.
- Computer science theory marathons before you've shipped anything.
- Buying paid courses when free resources exist for the topic.
- Joining 14 Discord servers. Pick two communities. Show up consistently.
What to do once you land the offer
Negotiate. Even at junior level, a polite "is there any flexibility on the base?" lands an extra $2k, 8k more often than not. Then read our first-90-days guide before you start, because the next test is showing up well.
Working with DevEntia
If you're not learning to code yourself but need someone who already has, that's our day job. We build custom software, AI products, and end-to-end digital products for clients globally. Tell us about your project and we'll respond within one business day.
