With low-cost or even free AI now available to both employers and employees, it’s no surprise that some companies are asking, “Hey, maybe we don’t need to hire junior programmers. We can save a bundle.”
It seems like a no-brainer: AI can solve programming problems faster than a junior developer, and at almost no cost. What’s not to like? Plus, there’s no onboarding delay while junior developers become productive.
But before you cut an entire tier from your staff, take a moment to think that decision through. Here are a few questions worth asking:
Who is going to do the actual work?
As middle and senior developers move up, who will replace them?
Who is going to check the code?
We’ll answer those shortly. But first, let’s step back and ask: What constitutes a “job”?
What Do You Actually Do in Your Job?
If you want to see a gulf in understanding, try this: Ask a friend (not a colleague) to outline their job. Then write down what you think they do. Finally, ask them what they actually do. Odds are, there will be a big difference.
Jobs are complex. Nobody is just a programmer. You might need to do some graphic design for icons, tweak a database by adding columns and indexes, or handle obscure customer-reported bugs. That often means installing customer data, anonymizing sensitive info, setting up the right database and code versions—all before you even start debugging.
Does your company use servers? You might spend 30 minutes a day copying data and code between your laptop and a server. We use an overnight build system. If something fails, someone has to read the logs, find the bug, and notify the right developer.
Sometimes the database isn’t available on Monday mornings because the servers were reset over the weekend and didn’t restart properly. Someone needs to file a ticket.
Some of our software integrates with software from other teams. That means meetings to refine interfaces. Teams move at different speeds, which creates compatibility issues. Junior developers are often the ones running tests to catch those.
And then there’s the company’s actual business—finance, trading, aviation, games, or something else. To do your job well, you need to understand the business. Without that, your knowledge of the software is incomplete.
For example, in commodity trading, 0.1 liters of fuel is considered an empty tank. Miss that detail and you might end up with wildly inaccurate density calculations that throw off P&L by thousands of dollars. I had to ask the head of commodity trading at a bank to learn that!
As a junior developer, you probably know little of this when you start—but it’s your job to learn. These insights are also great material for interviews. They show you’ve walked the walk.
Back to the Questions
An AI might be able to fix a bug, but setting up the environment, committing the code, testing it, and writing documentation still require human effort. Middle and senior developers probably don’t have time for that—even with AI help.
Learning to fix bugs is part of the journey for junior developers. It helps them understand system architecture, build business knowledge, and grow their software skills. Replacing them with AI erodes this pipeline and weakens the company’s technical edge. We’ve seen this happen before—with outsourcing.
AI isn’t perfect. It’s great for known patterns—like a quicksort algorithm in your language of choice. But ask it to create new code, and it might work—or it might wreck unrelated functions. This happened to me recently: AI deleted several working functions that had nothing to do with my request. You always need to review the code.
Conclusion
For both short- and long-term success, it’s smart to keep hiring junior developers. Encourage them to use AI, but ensure they review and test any AI-generated code. That’s how they learn—and how your team stays strong.