AI didn’t erase the junior’s value. It increased it.
“AI ate the junior’s marginal value”. This is the feedback I gotfrom the last post on this topic. According to this argument, the work of a junior engineer goes something like this:
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.