Right now, a little bit…
But wait, hear me out.
All we need is just a little patience.
The Current Panic
The current state of the market is brutal. Layoffs, no entry-level postings, everyone’s asking for years of experience. The future isn’t looking bright. Or is it?
Somehow, every time people think the demand for software engineers will disappear, the opposite happens. The dev market was facing a similar “fear” when WordPress first appeared. More on that later.
Juniors aren’t screwed permanently 🥳 - but the job descriptions, learning paths, and entry routes are changing permanently.
Why Companies Still Need Juniors
If companies stop hiring juniors today, where will mid-level and senior engineers come from in 5–7 years? This short-sighted cost-cutting might cost companies massively and backfire into an expensive talent shortage.
Is this enough reason to hire juniors?
I think yes.
Why not start hiring juniors when we see a talent shortage approaching?
Multiple reasons:
- It will be more expensive to hire later. Increasing demand means increasing prices.
- Senior engineers are expensive. Wasting their experience and knowledge on repetitive code, simple bug fixes, or dependency updates isn’t a good use of capital. A cycle of hiring juniors, having them handle execution-heavy tasks under supervision, and growing them into mid and senior levels will keep your talent pool refreshed and keep engineers close to your domain. We’ll discuss shortly why “domain” is becoming more important in the AI era.
- By mentoring juniors, your senior engineers improve skills like leadership that will be important for them to grow into leads, managers, and directors. You can see how juniors keep this pipeline healthy.
But instead of hiring a computer science graduate who needs years of training, why not just hire “reskilled domain experts”, like finance professionals, who will use AI tools and have a deep understanding of the domain?
Even though non-engineer domain experts can make AI tools write features, they still need to read the code AI writes to understand the edge-case coverage, prevent compounding technical debt, and oversee the architecture. Without knowing programming fundamentals, all of this becomes increasingly more complicated. The butterfly effect of this can cause issues so expensive that companies do not recover from them.
Okay, I get it, but still I see so many AI-company CEOs saying that AGI is close and soon software engineers won’t be needed anymore. Do they not know the things you talked about?
Well, the answer to that question is very simple. They have investors they need to please. Anthropic’s recent acquisition of Bun is a good indication that engineering talent is still needed and will be in the foreseeable future.
A Historical Parallel
The WordPress case can serve as a good analogy to the current situation. When it was first introduced to the public, the no-code solution of creating websites started a wave of panic that demand for developers would disappear. But what really happened was that lowering the cost of software creation increased the demand for developers.
Wait, what? How did lowering the cost of software creation increase demand for developers?
You might think that logic suggests otherwise, but historically the exact opposite happens. This economic phenomenon is known as Jevons’ Paradox: making the use of a resource more efficient increases, rather than decreases, its total consumption.
That’s weird…
When building software is expensive, companies build only their highest priority projects, or sometimes none at all. Thousands of ideas like automations, experimental features, and internal tools are shelved as “too expensive to build”. But lowering the cost of creation picks those ideas up from the shelves and into action, and businesses expand the scope of what they want to build. If previously only bigger businesses could “afford” software development, now even the smallest ones can. Different types and sizes of businesses require different tools, which creates even more demand for engineers working on such tools.
What’s also interesting is that newer tools and technologies have created different types of engineers, like backend and frontend engineers, DevOps engineers, data engineers, cloud, AI and Machine Learning (ML), QA, infrastructure, mobile, blockchain, and the list goes on indefinitely. Adoption and development of AI tools might create more types and generate more demand for talent.
Re-imagining How We Learn to Code
Is the traditional method of learning the fundamentals, memorizing the syntax, and building CRUD apps still useful?
AI adoption shifts the primary skill from writing code to reviewing AI-generated code. New engineers don’t need to be syntax masters anymore; they need to be critical auditors, but learning the computer science fundamentals is still - if not more - necessary.
When AI handles the high-level boilerplate code, the developer’s core job becomes architecting and debugging systems. Without the fundamentals - data structures, system design, debugging, database mechanics - a developer can’t effectively verify what AI tools generate. Understanding how indexing, caching strategies, and different database techniques work, or what data structures to apply in different scenarios, is essential in reviewing AI-written code and keeping systems scalable.
Fundamentals also provide tool agnosticism. When languages, frameworks, and tools change rapidly, developers who master the principles can transition across frameworks and languages effortlessly.
The Evolving Role
That said, pure implementation is getting automated fast, so knowing basic tech skills isn’t enough anymore. Understanding the business domain and what to build is becoming necessary to survive as an engineer.
So should we all become Product Engineers?
Yes, absolutely. The shift toward that model is one of the most visible structural changes in software engineering today.
AI can generate PRs from tickets quickly, but it lacks business context. Disconnection between stakeholders and engineers is expensive. A product engineer bridges that gap; they answer questions like: “Are we over-engineering a solution that nobody wants?” Juniors who can combine tech skills with product context will win over pure individual contributors.
How Juniors Can Survive Now
Okay, I understand. The future looks bright, but how do juniors make do now? They need to make a living, yet no one seems to be hiring them today…
Well, that’s true. The present state is still quite harsh for them. Let’s go through a few things they can do today to stay in tech and earn a living.
Tech-adjacent Jobs
When traditional junior developer jobs are frozen, juniors can practice their skills in adjacent entry-level jobs that will pay the bills while keeping them close to real tech stacks. Tech support engineering, QA automation, and assisting project managers working closely with engineers are good ways of staying close to tech while also being able to pay the bills. Many juniors transform into developers from such positions.
Freelancing (kind of)
Huh, for real? Freelancing?
I know, I know… It’s hard to land freelance projects. I mean something a bit different.
Going to small local businesses and creating websites or integrations for them might still work, but it’s becoming less effective.
There’s a new trend in town - creating content. Quality content is hard to beat, and companies are willing to pay for sponsorships.
If businesses aren’t willing to pay you for making them a website anymore, they might be willing to pay you for putting their names and logos on your website. Try to find your style and narrate in any form you like: videos, articles, or whatever works for you.
A Side/Temporary Job
If the two above don’t work for you, simply getting a temporary job while being able to learn and prepare for a software engineering job will also allow you to make a living.
No matter which direction they choose, in order to be relevant in the future, engineers need to continuously learn. That’s true for juniors too; no matter what “side job” they get, they need to dedicate time to learning engineering. Standing out in today’s competition requires committing a lot of time and energy to “doing the homework”.
But if I have a job that takes at least 8 hours of my day, there’s not much left. Do I have to spend a few hours a day learning?
Absolutely. There’s no way out of it. Fortune favors the hard workers. It’s not AI that will replace you, but someone who worked hard, spent nights learning, and is now able to use AI tools better than you will.
The Long Game
While breaking in requires more today than in 2021, software engineering is not dying, it’s evolving. This transformation will leave behind those who can’t keep up. New types of engineers, products, and tools will appear, but the core task of engineering - solving problems - will remain.
As long as there are problems to solve, there will be engineers needed to solve them.