The word oversaturated describes a market with more qualified people than positions. Applying it to software requires being specific about which positions, because the field contains two very different markets and only one of them is crowded.

The short answer

At the entry level, yes, and it is genuinely difficult. At the experienced level, no, and employers continue to report unfilled roles. That split is the whole answer, and it explains why graduates describe a brutal market while recruiters describe a shortage.

The occupational data supports both accounts. Software developers, QA analysts and testers are forecast to grow 10 percent from 2025 to 2035, adding roughly 185,400 positions at $134,040 median. But growth in total positions says nothing about which level those positions sit at, and the tier that has thinned is precisely where new entrants apply.

Who this is for

  • Recent graduates and bootcamp leavers sending applications into apparent silence.
  • Career changers deciding whether to commit time and money to retraining.
  • Students choosing a degree who are hearing the field is finished.
  • Working engineers wondering whether the entry-level competition affects their own position at all.

Key benefits of seeing the split clearly

  • You stop measuring yourself against the wrong market. Entry difficulty is structural, not a verdict on you.
  • You can target the tier that is actually hiring, which changes the strategy rather than just the effort.
  • You avoid abandoning a viable plan because of conditions at one specific level.
  • You can ask employers better questions, particularly about how they train people.
  • You understand why advice conflicts, since people at different levels genuinely see different markets and both report honestly.
  • You can time the decision better. Knowing that the entry tier is the constraint tells you whether to push through or to build something else first.

How it works: why the entry tier crowded

Three things happened at once, and each alone would have been manageable.

Supply rose sharply. A decade of messaging that software was the reliable route into good pay produced large graduating cohorts, alongside bootcamps and self-taught entrants arriving through every other door. That pipeline was sized for a demand that existed when people entered it, not for the one waiting when they finished.

The entry tier shrank. Junior work was disproportionately well-specified tasks: small functions, contained bug fixes, tests for existing behaviour. Those are exactly what current tools handle well, so the economic case for hiring at that level weakened. Nobody announced this; it happened one delegation decision at a time.

Hiring became more cautious. After a period of aggressive expansion, many organisations reduced headcount growth. Cutting graduate intake is the least disruptive way to do that, because nothing currently shipping depends on it. It is also the decision whose cost arrives latest, roughly five years on, as a shortage of mid-level engineers that has to be filled at a considerably higher price.

Put those together and you get a large supply arriving into a contracted tier at a cautious moment. That is what saturation looks like, and it is real regardless of what the total employment projection says.

What did not happen is the field running out of work. The 185,400 additional positions are genuine. They are simply not distributed evenly across levels, and the level that thinned is the one everyone applies to first.

What the crowded tier looks like from both sides

Understanding why the two accounts differ so sharply requires seeing the same vacancy from each end.

From the applicant’s side, a junior opening receives hundreds of applications within days. Most have comparable qualifications and comparable projects. Frequently they are the same projects, because they came from the same courses. Nothing separates them, so the filtering looks arbitrary from outside: a keyword, a referral, an alphabetical accident. Sending a hundred applications into that produces silence and teaches nothing. The statistics do not capture how corrosive that is.

From the employer’s side, the picture inverts. A flood of near-identical candidates for one role, and nobody at all for the role they actually need filled. That second one asks for three years of experience with a particular kind of system. Both roles are open. Only one is oversubscribed, and the empty one is what the recruiter talks about publicly.

Neither party is lying. They are describing different vacancies inside the same organisation. The conversation goes wrong when each side generalises from the only part of the market they can actually see, which is a very human thing to do and produces two confident and incompatible accounts.

The practical takeaway is that competing harder in the crowded tier has poor returns, because the constraint is not effort. Competing differently does better, and differently mostly means arriving with something the other hundred applicants do not have rather than a more polished version of the same thing.

Proof, examples, and objections

The most useful evidence is the divergence inside the sector, because it shows the pressure is about type of work rather than volume.

Computer programmers are forecast to decline 7 percent at $100,390 while developers grow 10 percent. Network and systems administrators fall 4 percent while network architects grow 8 percent. Information security analysts grow 21 percent at $129,180, which is among the strongest projections anywhere.

The rule across all of them: implementing to a specification contracts, deciding and owning grows. Entry-level roles are concentrated in the first category, which is why the crowding lands there.

Objection: if the field is growing, saturation is a myth. Growth in an occupation and difficulty entering it are compatible, and conflating them is the single most common error in this debate. A field can add positions while its first rung narrows.

Objection: this is just a downturn and will recover. Partly. Cyclical weakness compresses hiring at every level, and this compresses one level while mid-level hiring continues. That pattern points at something structural underneath the cycle.

Objection: too many people were told to learn to code. True as a description of supply, and unhelpful as advice to anyone who already did. The relevant question is what to do from here, not whether the guidance made sense in 2019. Retrospective blame is a poor substitute for a plan, and the people offering it are rarely the ones affected.

Objection: the shortage employers report is invented to keep wages down. The unfilled roles are real, but they are specific: three or more years of experience with a particular kind of system, in a particular domain, frequently somewhere less fashionable. Describing that as a general shortage is misleading, and so is dismissing it as fiction. Both the queue at the entrance and the empty chairs further in exist at the same time.

Objection: exposure scores say the whole field is automatable. The Bureau publishes AI exposure categories for 831 occupations and states plainly that exposure “does not imply job loss, productivity gains, automation probability, or wage effects.” Software scores high on exposure and is projected to grow 10 percent, which is precisely why exposure is not a forecast.

On qualifications, the evidence points somewhere specific rather than toward dismissal. A degree or structured certification gives fundamentals, a shared vocabulary and access to processes that screen for them, and in a crowded entry market those filters matter more rather than less. What separates candidates now is what accompanies the qualification: a domain understood properly, or work you can talk through in genuine depth, including what went wrong and how you found it. Certificate plus demonstrable evidence is a far stronger package than either alone.

Learning to direct these tools, review their output and recognise where their confident answers fail is itself a differentiator, and it transfers as the tooling changes. If you want a structured route in, explore Coursiv AI lessons and check current plan details on the official site.

Where the crowding is thinnest

Saturation is not uniform, and the variation is large enough to be worth acting on.

By specialism. Security is the clearest example, with information security analysts projected to grow 21 percent. Roles requiring regulatory knowledge, safety-critical experience or a specific industrial domain consistently attract fewer applicants than general web and application development.

By industry. Software work inside healthcare, manufacturing, energy, logistics and government is less contested than the same work at software companies, simply because fewer people aim there. The pay is often comparable. The domain knowledge you build is what later makes you hard to replace.

By geography. The crowding is heaviest where hiring is most remote-friendly, since that puts every candidate in the same pool. Roles requiring physical presence somewhere specific compete against a much smaller field.

By what the role touches. Anything involving hardware, real-time constraints, regulated data or physical systems has a smaller applicant pool than a role building a standard web application, because the entry pipeline produced far fewer people prepared for it.

The pattern behind all four is the same. Crowding follows the path most people were advised to take. The least crowded routes are the ones that required choosing something specific early. That is inconvenient if you already qualified generally, but it is fixable. A specialisation can be added afterwards, and it takes far less time than a second qualification.

Your next step

Stop treating rejection at entry level as information about your ability, because in this specific market it mostly is not. Then change what you are competing on. A hundred applications with a similar profile lose to structural noise; one application from someone who understands the employer’s industry and can discuss a real problem in it does not.

Pick a domain, learn it properly alongside the engineering, and build something in it you can talk through honestly, including the parts that went wrong. That combination is what employers describe as hardest to hire for, and it is the one route through a crowded entry tier that does not depend on anyone’s permission.

FAQ

Is software engineering oversaturated?
At entry level, yes, and it is genuinely hard. At experienced level, no, and employers report unfilled positions. The field is projected to grow 10 percent through 2035, but that growth is not distributed evenly across levels.
Why do graduates struggle when the field is growing?
Because the junior tier is where automation bit hardest and where cautious hiring cut first, while supply from degrees and bootcamps kept arriving. Growth in total positions and difficulty at the entry point are not contradictory.
What actually helps in a crowded entry market?
Domain knowledge, work you can explain in depth, and targeting the specialisms with the strongest projections such as security. Generic applications compete against very large numbers of near-identical ones, and polishing a generic application mostly produces a better version of the same problem rather than a different outcome.
Should I still study software engineering?
The pay and growth data support it, at $134,040 median and 10 percent growth. Plan for a harder entry than the guidance of a few years ago assumed, and pair the qualification with something demonstrable.