The Kids Are Really Alright
AI didn't eat the junior's value. It expanded it.
“AI ate the junior’s marginal value”. This is the feedback I got from the last post on this topic. According to this argument, the work of a junior engineer goes something like this:
- There is a need for a solution. Someone more experienced (a senior engineer) plans it and designs it.
- The senior engineer breaks down the work in multiple small tasks, clarifying the steps to be taken. Each task is given to a junior engineer.
- The junior engineer executes it, which nowadays means prompting it to an AI tool, and creating a pull request (PR).
- The PR receives feedback from more senior engineers. The junior engineer gets the feedback and takes it to the AI tool again, proposing changes.
- Repeat until done.
If the process above is what happens in practice, why do we need a junior engineer? They are just passing through requests (and sometimes adding noise) from one place to the other, and they cost a full time salary. That’s fair.
Before we jump to conclusions, let’s look at a different story. Or maybe the same story, approached in a different manner.
In our product, there was a feature which had been requested for years, but had not been built yet. It wasn’t overly complex, but it was not critical. Or at least not critical for enough customers to make it through the prioritization threshold. This meant that year over year some customers were frustrated they didn’t have a feature they needed.
This summer, we assigned the problem to an intern (that’s less tenure than a junior engineer). The intern led the development of this feature. They talked to the product manager to understand the problem and requirements. They wrote the design document on how to approach it, aligned with the team, and built it. Of course they did that with the help of AI, and the team they were working with.
But they led it. They dealt with the inconsistencies, with understanding trade-offs, both in the technical and product areas. They adapted the approach as they found issues. And delivered value. AI did produce much of the code, and they owned the decisions. A customer problem that would not have been solved has now been solved. By an intern, at a very low cost for the company.
All engineers manage complexity. What changes is how much.
Beyond the fact that any company will need senior engineers in the future, there are very pragmatic reasons why junior engineers are still valuable.
Junior engineers still add capacity to an organization. And that’s because the work of an engineer is not to write the code (or prompt an AI tool) according to a spec. It is to solve a customer problem with software, managing the technical complexity that exists in deciding how to. That applies to all engineers. Staff engineers manage a lot of complexity. Junior engineers manage a little complexity. But the role is the same.
This goes beyond coding. It requires understanding the problem, and also the customer perspective. It requires understanding that if you build a feature in a particular manner, it will lead to a particular set of trade-offs. And those trade-offs are beyond what AI can decide, because they require context that is broader than the codebase. Technical decision making is still very important and junior engineers add to it, enabling an organization to do more.
Training actually became much cheaper. Most of the training cost for an early tenure engineer is to understand the company’s technical context, meaning the nuances of a large codebase and architecture, and to provide basic training on software, like the language, the tooling, the patterns.
In the past, this either required meaningful proactivity from a junior engineer, researching topics and studying, or it required actual human effort from more senior peers, who would spend time explaining basic concepts. This effort has not been eliminated, as context coming from humans is still key for productivity in software. But a lot of this work can be short-circuited with the use of AI.
Being AI-native is valuable. We cannot, as an industry, say that engineers need to be AI-native in job descriptions and then not hire the people that fit this description the best. If the assumption is that AI is going to radically simplify the technical portion of the role, then the people who have started their careers with AI will be in the best spot once they have acquired the experience.
Going back to the earlier example, the feature the intern shipped had been requested for a long time. It wasn’t important enough to get prioritized, but required too much judgment to hand it to AI. These tasks exist and will continue to exist in every team. AI expands what every level can handle, including juniors.
More important than that, engineering organizations will continue to need technical judgment. And the future judgment for your organization should be growing right now.
Comments