Software engineer roadmap - from beginner to hired (with mentor checkpoints)

I've watched people spend a year following roadmap.sh religiously and still not get past phone screens. The roadmap wasn't wrong. The problem is there was nobody checking whether the learning was real.
Dominic Monn
Dominic is the founder and CEO of MentorCruise. As part of the team, he shares crucial career insights in regular blog posts.
Get matched with a mentor

TL;DR

  • Most people go from zero to first job in 12-18 months of consistent work - not because software engineering is hard to learn, but because reviewable, explainable code takes time to build and test against real feedback.
  • Recent MentorCruise application data shows two-thirds of engineers who seek mentorship ask for the same thing: a structured plan with someone checking the work.
  • The biggest beginner failure mode in 2026 is committing AI-generated code you can't explain. The code runs. It fails code review.
  • This guide structures the path as five phases - fundamentals, CS concepts, portfolio project, interview prep, job search - each with an observable pass/fail test so you know when you're ready to move forward.
  • The maps exist. What roadmap.sh doesn't have is someone checking whether the learning stuck.

Is software engineering right for you?

Software engineering is one of the most accessible career transitions you can make in 2026, but it has a specific failure mode: people build things they can't explain, collect evidence that looks right until a senior reviews it, and hit a wall. If you want to build things but resist getting your work critiqued, this path gets frustrating fast. If you're the kind of person who improves when someone points out what's broken, you're probably a fit.

Here's who has a hard time with it:

People who want to build things but avoid feedback. Code review is the job. Every pull request goes to a senior for review. Every comment requires a response. If that feedback loop sounds like a threat rather than useful information, the learning won't compound.

People expecting income in less than a year. The realistic range for most beginners is 12-18 months before a first role - and that's with consistent weekly hours, not casual weekend learning. If you need income in six months, software engineering is the wrong path to start right now.

People using AI tools to skip the understanding. One pattern we hear at MentorCruise: "I've never had any guidance or anyone to speak to about building a career. My method of studying has always been to memorize everything, which is very time-consuming and does not help me build skills." That's the self-study failure mode described directly. The AI version is faster but the same in structure: more output, shallower understanding. The code runs. The code review reveals what's missing.

What the role actually requires - beyond writing code - is communication. Explaining your decisions. Responding to feedback without shutting down. Scoping work before you start it. Those aren't soft extras; they're what separates engineers who get promoted from engineers who stay junior.

What software engineering actually does

A day in software engineering is less "building features in isolation" and more: write code, get it reviewed, respond to comments, fix what the reviewer found, push the update, repeat. The code is only part of the job. The communication layer - explaining decisions, responding to feedback, scoping work - is what separates engineers who get hired from engineers who stay stuck in junior roles.

I describe the work loop to almost every engineer I mentor, because the gap between what people imagine and what the job actually is tends to be large. The loop:

  1. Ticket comes in describing a feature or bug
  2. You ask clarifying questions if the scope is unclear
  3. Write the code on a branch
  4. Open a pull request
  5. A senior engineer reviews it and leaves comments
  6. You respond - in text, then in code - and push an update
  7. Review clears, branch merges

That's software engineering. Not a solo session. A loop.

What the role is not: it's not solo genius coding, and it's not a bootcamp portfolio showcase where you declare yourself done after shipping a to-do list app. Every decision goes to review. If you've been imagining something closer to independent invention, the procedural reality is different - and it's actually more learnable because it's more predictable.

US software engineer salary ranges (general)

Level Typical US range
Entry-level $60,000 - $85,000
Mid-level $90,000 - $130,000
Senior $130,000 - $200,000+

These are general US ranges aggregated from public salary data. They vary significantly by location, company size, and specialization.

In my experience recruiting and working with engineers across MentorCruise: most teams are fine with junior engineers who don't know everything. They are not fine with junior engineers who don't ask questions or push back on code review feedback. Curiosity and responsiveness are what get you through your first six months.

How to transition into software engineering - the five-phase roadmap

The software engineer roadmap has five phases: fundamentals, CS concepts, portfolio project, interview prep, and job search. Each phase has a milestone test - a specific pass/fail criterion that tells you when you're ready to move on. The most important thing is not to skip ahead. I've seen engineers spend six months in Phase 3 while still missing Phase 1 foundations - their projects ran, but they couldn't explain them.

Phase 1 - Programming fundamentals (0-3 months)

The first milestone is building something you can actually explain. Not finishing a tutorial - that's reading. The test is: can you build the same thing from a blank file? Pick one language (Python or JavaScript), one beginner resource, and don't move on until you pass that test. I've seen people spend six months on tutorials and hit a wall at their first code review because they'd been copying, not building.

Milestone test

Pass: You can build a working CRUD application - a simple task list or address book - using Python or JavaScript. You can explain every line of code when asked by another person. You can debug an error without copying the fix from Stack Overflow.

Fail: You've completed a tutorial successfully but can't reproduce the same application from a blank file.

Choosing a language

Language Best for Trade-off
Python Back-end development, data work, scripting Less visible in the browser early; stronger for data and server-side paths
JavaScript Full-stack web development, front-end Runs in the browser; easier to show work early

Pick based on your target first role, not what's trending in job postings. If you don't have a target role yet, JavaScript gets you to a visible project faster because you can build things that run in a browser. If you're aiming for data or back-end work, start with Python.

One concrete resource per path: CS50 (Harvard OpenCourseWare, free) for Python-path foundations; freeCodeCamp for JavaScript-path foundations. Pick one, finish it, then build without the scaffolding.

On AI tools at this stage: Copilot and Claude Code are useful for explanations, not for writing code you'll submit as your own. Ask AI to explain why something works. Don't ask it to write the solution and copy it. That distinction matters at Phase 1 more than any other stage - if you let AI write code you can't explain now, you'll spend Phase 3 building a portfolio with the same problem. If you want support from a coding mentor while learning the fundamentals, that's the stage where direction matters most.

Phase 2 - Core CS concepts (2-4 months)

CS fundamentals aren't theoretical - they're what your interviewer is listening for during a system design question. Data structures, algorithms, and basic database design show up in code reviews as soon as you're writing anything beyond toy projects. You don't need a CS degree. You need to be able to explain why you chose a hash map over an array in your own project. That's the standard.

Milestone test

Pass: You can explain the Big-O tradeoff between two data structure choices you made in your own Phase 1 project. You can say why you chose a hash map over an array in a specific place, or why you sorted a list rather than searched a set.

Fail: You've completed a data structures course but can't point to where you applied the same reasoning in real code you wrote.

The CS topics that come up most in junior-engineer code reviews, roughly ranked by frequency:

  • Data structures: arrays, linked lists, hash maps, trees. Interviewers and reviewers care most about hash maps and arrays - know the tradeoffs.
  • Algorithms: sorting, searching, Big-O notation. You don't need to memorize every algorithm. You need to know why O(n) matters when someone reviews a loop you wrote.
  • Databases: SQL basics, table relationships, indexes. Most entry-level back-end work touches a database. Understand joins, primary/foreign keys, and why an index exists.

For structured study, Neetcode.io covers algorithms well. Grokking Algorithms by Aditya Bhargava is readable if you prefer a book.

Phase 3 - Build a portfolio project (3-6 months)

The portfolio project tests two things: whether you can build something real, and whether you can respond to feedback. A to-do list shows you can follow a tutorial. A project that solves a real problem - even a small one - and survives a senior engineer's code review shows you can work like an engineer. One reviewed, revised project is worth more to a hiring manager than five unreviewed ones.

Milestone test

Pass: You've shared your project with a mentor, peer engineer, or structured code review service. You've received specific feedback - not "looks good," but "here's what I'd change and why." You can respond to the feedback without needing to look up what the comments mean.

Fail: You've built a project and consider it finished without external review.

What makes a project portfolio-worthy: it solves a real problem (even a small one), it has a README that explains what it does and why you built it, and it has been reviewed by at least one person who isn't you. That last condition is the one most beginners skip.

One pattern we keep seeing at MentorCruise: "I've been leaning on Claude Code to help write the React/TypeScript side of things, but I'm committing code I don't fully understand." The project runs. The code review exposes the gap. This is the Phase 3 failure mode - not that the project doesn't work, but that the engineer can't explain it. The fix is the same as Phase 1: before committing AI-generated code, close the tool, delete the code, and try to reproduce it from memory. If you can't, you haven't learned it. If you want a web development mentor to review your project before you send it anywhere, Phase 3 is exactly when that has the most value.

Phase 4 - Interview preparation (1-2 months)

Software engineering interviews test two things: whether you can solve technical problems and whether you can explain your thinking while doing it. LeetCode alone trains the first but not the second. The engineers who fail phone screens after months of prep usually have solid solutions and no communication layer. Mock interviews with a human who gives process feedback are the fix - not more LeetCode.

Milestone test

Pass: You've completed two mock technical interviews with a mentor or practice partner. You've received specific feedback on your communication and problem-solving process - not just whether the answer was correct. You can articulate the tradeoffs in your solutions aloud.

Fail: You've solved 100+ LeetCode problems but have never explained a solution out loud to another person.

For mock interview practice, Pramp and Interviewing.io both connect you with engineers for live practice sessions. For system design prep, a system design mentor is the fastest way to close gaps that don't show up in algorithm practice.

Michele, a student from a small university in southern Italy, landed a Tesla internship after working with his MentorCruise mentor, Davide Pollicino, to close specific gaps in algorithms, system design, and mock interview technique. The university wasn't a barrier. The preparation was.

Phase 5 - Job search and first role

The job search for junior engineers typically takes 2-6 months after you're interview-ready. Volume matters, but targeting matters more - apply to roles where your portfolio is a direct match for the tech stack. Your first code review at your first job will expose gaps you didn't know you had. That's normal and expected. The question is whether you've built the feedback loop habit by then, so you respond to critique instead of freezing.

No observable milestone test applies here - this phase ends with a job offer.

The realistic total timeline from zero: 12-18 months for most people working consistently. That's Phase 1 through Phase 5 combined. Not 90 days. Not six months. The 12-18 month window is what the path actually looks like for a beginner putting in 20+ hours per week.

What your first job really tests isn't how much you know. It's whether you can take feedback without shutting down. Engineers who arrive having already practiced the review-respond-revise loop at Phase 3 and 4 transition into their first role faster than engineers who arrive technically competent but feedback-averse.

Some software engineering roles offer visa sponsorship. The application and portfolio requirements are the same; the main variable is targeting companies known to sponsor.

Common roadblocks (and how to get past them)

The most common roadblock on the software engineering roadmap isn't the technical skills - it's the feedback gap. Self-taught engineers learn to write code that runs. They don't learn to write code that survives a code review until someone reviews it. Every week without external feedback is a week potentially building in the wrong direction. This is the specific problem a mentor solves at Phase 3 and Phase 4.

Tutorial hell

Spending months watching tutorials without producing output is the most common early stall. The pattern is seductive: you feel like you're learning because you're consuming. The test is whether you can produce. Exit: commit to building something before you watch another tutorial. If you can't build it without the tutorial, you haven't learned it yet.

AI over-reliance

The same pattern as tutorial hell, just faster. The fix is identical: close the AI tool, delete the generated code, and try to reproduce it from memory. If you can't, you haven't learned it. The pattern at Phase 3 - committing code you can explain to the AI but not to your reviewer - is the same failure mode, accelerated.

Scattered resources

One thing we hear repeatedly at MentorCruise: "the information available online is scattered and lacks a clear progression." There's no shortage of content. There's a shortage of progression. The fix is picking one learning path and finishing it before evaluating alternatives. Two courses in parallel usually means half-learning two things. One course finished means one thing actually learned.

No feedback loop

The hardest version of being stuck is not knowing what you don't know. You've built something, it works, and you get a code review that reveals six things you never considered. That's the feedback mechanism working. The alternative is learning those six things at your first job when the stakes are higher. Find someone to review your code at Phase 3. Waiting until Phase 4 or 5 to get your first real code feedback is waiting too long.

Tools, mentors, and next steps

The right time to start working with a mentor isn't when you're stuck - it's at Phase 3, when you have something to show. Before Phase 3, a mentor's value is directional: helping you pick the right path and avoid tutorial hell. After Phase 3, the value compounds. A mentor's code review at each milestone catches competence gaps before they become habits that follow you into your first role.

Tools by phase

Phase Tools
Phase 1 - Fundamentals CS50 (Harvard OpenCourseWare, free), freeCodeCamp, Codecademy
Phase 2 - CS concepts Neetcode.io, Grokking Algorithms
Phase 3 - Portfolio GitHub (hosting and version control), roadmap.sh (skill reference, not a progression guide)
Phase 4 - Interview prep Pramp, Interviewing.io

One note on roadmap.sh: it's a useful skill-tree reference once you have a framework for using it. What it doesn't give you is the context of which skills matter most for your situation, or any confirmation that you've actually acquired one. Use it as a reference tool, not as a progression guide.

For in-series reading: if you're still deciding whether software engineering is the right move, how to become a software engineer covers the career-change decision itself. For the full career-change guide on transitioning into engineering - why people switch, what to expect, and how to frame the move - see the software engineer career guide. If you're already working as an engineer and want to advance to senior or staff, the software engineer career roadmap is a different post for a different reader.

Two-thirds of engineers who seek mentorship at MentorCruise ask for exactly what this guide covers: a structured plan with someone checking the work. Kyle d'Oliveira's story is the version of this path with a mentor: novice to software developer job through 1:1 sessions with a mentor who gave him expert feedback, a structured plan, coding basics, and interview tips. Kyle later became a mentor himself and guided a mentee to their first engineering role in a year.

If you're starting the software engineering roadmap and want feedback at each stage rather than waiting until your first job interview to find out what you missed, a mentor who's already at the level you're targeting is the most direct way to close that gap. Find a software engineering mentor and start at Phase 3 - that's when a real code review matters most.

FAQs

How long does it take to become a software engineer?

Most people go from zero to first job in 12-18 months of consistent work. The range depends on weekly hours (20+ hours per week is the realistic floor), whether you have external feedback at each phase, and whether your target role is front-end, back-end, or full-stack. Six months is possible with an intensive schedule and strong feedback loops. Two years is common for people learning in evenings while working full-time.

What programming language should I learn first?

Python if you want back-end development, data work, or scripting. JavaScript if you want full-stack web development. Both are learnable from zero in a few months. Don't pick based on what's trending in job postings - pick based on your target first role. If you don't have a target role yet, JavaScript gets you to a visible project faster because you can build things that run in a browser.

Do I need a computer science degree to become a software engineer?

No. Most engineering teams hire based on what you can build and explain, not the credential. Bootcamp graduates and self-taught engineers get offers at companies ranging from early-stage startups to large tech firms. What you need is demonstrable competence: projects that show you can write reviewable code, and interview preparation that shows you can explain your decisions. A CS degree helps with some hiring processes but isn't a prerequisite for most roles.

What is a full stack developer roadmap?

Full stack means you can build both the front-end (what the user sees: HTML, CSS, JavaScript, usually a framework like React) and the back-end (the server, the database, the API: a language like Node.js or Python, plus deployment basics). Most full stack engineers are stronger on one side. The practical path: pick front or back, build one complete project, then extend to the other side. roadmap.sh has a useful full stack skill map as a reference.

How does a mentor help with a software engineer roadmap?

A mentor adds three things a static roadmap can't: context (given your target role and background, here's the order that actually matters for you), code review (the feedback loop that catches gaps before they become habits), and accountability (the checkpoint that converts a plan into progress). The highest-value time to work with a mentor is Phase 3, when you have real code to show. That's when the review catches the most.

Ready to find the right
mentor for your goals?

Find out if MentorCruise is a good fit for you – fast, free, and no pressure.

Tell us about your goals

See how mentorship compares to other options

Preview your first month