← Back to Blog

How Long Does It Realistically Take to Get a Software Job After a Career Change?

TL;DR

  • The range is 6-18 months from "starting to learn" to "employed," with 18-24 months being realistic for people starting with no technical background.
  • The biggest driver of timeline isn't technical skill. It's job search strategy.
  • A bad job search approach can add 6-12 months to your timeline.
  • Market conditions matter and are outside your control. Strategy, portfolio quality, and targeting are inside your control.
  • If you've been actively searching for more than 6 months with no traction, something specific needs to change.
  • There are clear diagnostic questions to tell whether your timeline is normal or whether you're stuck in a pattern that won't work.

When people ask how long it takes to get a software job after a career change, they usually want to hear "three to six months." Bootcamps often imply this. Career coaches sometimes say it. Job boards full of "entry-level" roles that require two years of experience reinforce a sense that this should be quick.

It usually isn't.

Giving people accurate expectations about this timeline isn't pessimism. It's the thing that prevents bad decisions: quitting a stable job too early, burning through savings, taking any job out of desperation, or giving up a search that was actually close to working.

The Honest Range

For someone starting from essentially no technical background, learning to code and landing a first software engineering job typically takes 18-24 months of focused effort.

For someone with technical adjacent experience (an engineering discipline, significant data analysis work, a background in IT or systems administration), the range is closer to 12-18 months.

For someone who already has meaningful coding experience from a previous role or significant self-directed work before starting a structured program, 6-12 months is realistic.

These are ranges, not guarantees. People land roles faster. People take longer. The variables below explain why.

What Drives the Timeline

Your prior technical background

Not all starting points are equal. Someone who worked as a data analyst and has years of SQL, Python, and Excel experience is not starting from the same place as someone who has never written a line of code. The former needs to extend existing technical skills. The latter needs to build from the ground up.

This is worth being honest with yourself about early. Overestimating your starting point is one of the most common reasons people set unrealistic timelines and then feel like they're failing when they're actually just learning something hard.

How much time you're spending learning

A full-time commitment to learning, building, and job searching is fundamentally different from an hour a day while working a demanding full-time job. Both can work. The timeline is dramatically different.

If you're learning part-time while working full-time, add 6-12 months to whatever estimate you'd otherwise give yourself. Not because you're less capable, but because the cumulative hours required are the same and you're getting fewer of them per week.

The quality and depth of your portfolio

Portfolio quality is one of the largest controllable variables in the timeline. A shallow portfolio of tutorial projects done by following along with YouTube videos will not move interviews forward. A portfolio of projects you built to solve real problems, understand in depth, and can discuss with technical specificity will.

The difference isn't just "beginner versus advanced." It's about whether the portfolio demonstrates that you can build things independently, make reasonable technical decisions, and ship something that works. Employers don't need you to be brilliant. They need evidence that you can do the job.

One well-built project that demonstrates depth is worth more than five superficial ones. If your portfolio isn't generating technical screens, the portfolio is usually the reason.

Job search strategy and targeting

This is the hardest thing to say plainly but the most important: a bad job search strategy can add 6-12 months to your timeline. Possibly more.

The most common version of a bad strategy: applying broadly to any software engineering role, sending a generic resume, getting filtered out consistently, and continuing to apply in the same way while wondering why nothing is working.

Career changers who target industries where their background creates a real advantage, apply with materials tailored to those companies, and actively pursue referrals and warm connections move meaningfully faster than those who don't. Not because the market is friendlier to them. Because they're competing differently.

Read how to target industries that want your background and how to build a structured job search plan for what a functional strategy looks like in practice.

Market conditions

This is a real variable that's outside your control. The software engineering job market was significantly harder in 2023 and 2024 than it was in 2021 and 2022. Layoffs changed the candidate pool. Companies that were hiring aggressively slowed down or stopped. The bar for junior and career-change candidates specifically got higher.

Market conditions improve and deteriorate over time. You can't change them, but you can factor them into your expectations. A timeline that would have been 6-9 months in a strong market might be 12-15 months in a slower one.

This isn't an argument to wait for the market to improve. It's an argument to have realistic expectations and to not interpret a longer search as proof that you're doing something wrong.

The type of role and company you're targeting

Not all software engineering roles have the same hiring bar or the same timeline for career changers. Roles at large companies with structured processes and ATS filters are often harder for non-traditional candidates to get through than roles at small companies where a human sees your application early.

Companies in your previous domain are more likely to give your application serious consideration than companies where your background has no relevance. Startups with urgent hiring needs are more willing to bet on someone less conventional than large companies with standardized processes.

Your target role type matters too. A full-stack generalist role at a startup has a different competitive field than a frontend role at a mid-size product company or a data engineering role at a fintech firm.

What the Timeline Actually Looks Like Phase by Phase

Months 1-4: Learning fundamentals. For most career changers, this period is mostly about building technical foundations. The job search isn't the focus yet. The output is understanding of core programming concepts, basic proficiency in at least one language, and initial familiarity with relevant frameworks.

Months 5-9: Building portfolio projects. This is where the work shifts from learning to building. The goal is to complete one to two projects that demonstrate independent software development capability. For career changers, at least one project should use your domain knowledge.

Months 8-14: Active job search. Resume, applications, interviews, iterations. For most career changers, the first round of applications reveals gaps in either the portfolio or the interview preparation. Expect to iterate.

Months 12-24: Continued search and possible skills development. Some career changers land roles in the first active search cycle. Many don't and need to diagnose what's not working and adjust. This is normal and doesn't mean the goal is wrong.

These phases overlap. Many people start a soft job search before their portfolio is fully developed. The point is that the phases are sequential dependencies: technical skills enable portfolio work, which enables credible applications, which enable productive interviews.

What to Do If You're at the Slow End

If you've been at this for 12-18 months and still don't have an offer, something specific is likely not working. The most common candidates:

Portfolio projects aren't demonstrating sufficient technical depth. Ask someone who works as a software engineer to look at your code and tell you honestly what they see. If the feedback is that the projects look like tutorials or don't demonstrate independent problem-solving, that's what to fix.

Applications are going to the wrong companies. If you're applying to hundreds of generalist engineering roles and getting consistently filtered, try targeting 20-30 companies in your domain with tailored materials. See if the response rate changes.

Technical interviews are consistently failing. If you're getting technical screens but not passing them, the gap is in technical interview preparation, not in your portfolio or resume. Data structures, algorithms, and system design are learnable. Focused preparation on these specifically can change interview outcomes.

Behavioral interviews aren't going well. Career changers sometimes underestimate the importance of the non-technical parts of the interview. If you're making it past technical screens but not getting offers, the issue might be how you're presenting yourself, discussing your background, or answering behavioral questions.

The resume isn't generating screens. If you're applying and not getting any responses at all, the resume is likely the filter. Have a software engineer review it. Not a career coach. Someone who has hired or interviewed software engineers and can tell you whether the resume would get a screen if they received it.

Read what to do when your job search has stalled after six months for a more detailed diagnostic framework.

The Diagnostic: Normal or Stuck?

Here's a set of questions to tell whether your current timeline is within the expected range or whether something specific needs to change:

Is your resume generating interviews? If you've sent more than 50 applications with fewer than 5 responses, the resume or targeting is the problem.

Are you passing technical screens? If you're getting screens but failing them consistently, technical interview preparation is the gap.

Are you getting final round interviews but not offers? This often points to behavioral or communication issues, or to a mismatch between your expected seniority and what you're able to demonstrate.

Have you received any specific feedback from rejections? Even generic feedback can point toward a pattern. If multiple interviewers are saying similar things, believe them.

Has anything changed in the past 90 days? If you've been doing the same thing for 90 days with no improvement in any metric, the approach needs to change. Not "keep doing this and hope it starts working." Actually change something.

The people who take 24+ months are often not people with less ability. They're often people who spent 12 months doing something that wasn't working and didn't diagnose it early enough to change.

The Part Nobody Wants to Hear

Some career changers will go through this process and not land a software engineering role. Not because they're incapable of learning to code, but because the combination of their timeline, their technical depth, their geographic constraints, the market conditions, and their financial runway didn't work out.

This isn't failure. It's information.

If you're deep into a search that isn't working, it's worth asking whether the specific combination of role, level, and company type you're targeting is realistic given your current skills, and whether adjusting one of those variables (targeting a different type of company, or building more skills before continuing) would change the picture.

It's also worth asking whether you've genuinely been executing or whether there have been long stretches of low activity. The timeline estimates above assume sustained, active effort. Extended periods of low-intensity searching extend the timeline proportionally.

The 30-60-90 day job search plan is a useful structure for making sure the effort is actually sustained and directed rather than sporadic.


If you're trying to make sure your job search strategy is actually working rather than hoping it will eventually, here's how the Globally Scoped program works.

Interested in the program?