A "cooked" Computer Science grad's perspective
Nov 20th 2025
You need a position to get experience, but to get experience you need a position.
The job market for STEM is horrible right now in the USA in Canada. New hires are absolutely "cooked" (slang for an inescapably bad situation). It's impossible to find an entry-level job or any internship. And if you do happen to get an "in", it's really hard to pass interviews without previous experience.
This video is a very good personal view into an experience of a new grad. It's very depressing to watch and hear this guy's personal experience. It's even more depressing to read the comments and realize that his experience mirrors everyone else.
After thinking about why this is happening, I've come up with a few reasons.
Firstly, there's a mismatch between supply and demand, and it's operating like a control loop with way too much lag. A STEM bachelor's degree takes around four years. This places a fundamental limit as to how fast universities can respond to market changes. By the time the changes propagate through the system, the market has changed again. And in possibly the fastest-changing field of all time, the result is something like an under-damped system. The market overshoots in both direction, producing instability instead of equilibrium.
On top of that, colleges and universities have commoditized degrees. They are not in the business of giving you skills or a proper education. They are in the business of money, which means collecting tuition, and doing research. Their goal is meet the minimum accreditation standards while pumping out as many graduates as possible.
Since they are in competition with each other, they have an incentive to pivot really quickly (notwithstanding the 4-year control loop lag). This means hiring more faculty quickly, expanding programs, and charging more just because they can. Usually this is at the expense of the students in some shape or form. This feedback loop has flooded the market with graduates.
The second big reason is that a lot of companies don't have that much work anymore; at least not the kind of novel foundational software work that used to exist. There's no more "design a database from scratch", it's "spin up an AWS bucket and shove our data into it". Modern software development is mostly about assembling building blocks. So much of engineering today is gluing together well-tested libraries and frameworks (and rightfully so, we want less bugs in our software, and human labor is the biggest cost). Reusability, not invention, is the norm.
We're seeing a consolidation of programming languages and technologies. While there are arguably more languages and frameworks today than ever before, there's more reasons to use only a select few of them. Python being so prevalent in the training datasets of LLMs is one example.
Once software is built, it tends to settle into maintenance mode. There's less demand for brand-new systems or algorithms. SaaS is a byproduct of this trend. The innovation isn't the software itself, but the hosting, deployment, and reliability that the SaaS model offers. The marginal utility of writing new software goes down. The marginal utility of hosting and maintaining access to existing software goes up. And when there's less new software to build, there's naturally less demand for new developers.
Another factor is trust. Specifically, the trust new companies need to have in an applicant to justify investing in an new hire. I think that workplaces have an idea of how much time and effort it takes to get a junior up to speed, and senior engineers are already overloaded. Teams are already running as "skeleton crews" in a lot of places.
It's easy to justify giving work to a senior because they will eventually get it done. But mentoring a junior? That's a risk. Sometimes you hire go-getters who put serious effort into self-learning. Other times you hire people who's hand you need to hold. And in a market where job-hopping is common and employment is at-will, companies hesitate to invest in someone who might leave as soon as they gain enough experience to command a higher salary elsewhere.
AI compounds this problem of course. Even in it's current imperfect state, AI does boost the production of "throwaway work", such as scripts that do simple data manipulation or search. These tasks were traditionally handles by new hires, and now the newest VS Code fork agentic coding IDE can handle that. While production code still demands human oversight, the amount of junior-friendly work has undeniably shrunk.
All of this creates a terrifying economic floor that prevents new grads from getting their foot in the door. There's only so little a company can pay someone. Minimum wage for one, and even salary discrepancies can create social problems. At the same time, the value entry-level grads can offer is shrinking. When you combine these factors, extended continued unemployment in this sector seems inevitable. Maybe the rate of "enshitification" will slow down, but I don't see it becoming negative.
And that's what makes it so discouraging. Many young people are constantly told lies by older generations: that STEM is a lucrative, safe career; that there's millions of dollars of unclaimed scholarships just waiting for you out there, that trades work is easy and pays a lot. But it's clear that those people were wrong, or at least did not have a holistic view.
I don't have any advice for someone in this situation, other than do what you need to do to survive and try to keep healthy and don't get depressed. Sometimes the world hands you shit cards and you gotta play them anyways.