With the rise of AI coding tools like Cursor, people are worried about the end of the Junior Engineer role. As of this writing, the most advanced tool available is probably Cursor’s Agent with Claude 3.7 Sonnet + Thinking. Having used Claude extensively for personal and professional projects in the last several months, my experience is that Claude is very good at solving problems that I give it with significantly fewer errors than ChatGPT especially in the early days of Copilot. That being said, Claude 3.5 does a better job staying in its lane. All tools, in my experience, can paint themselves into a corner or dig themselves into a hole which they struggle to get out of.
Code is for humans, not computers. Computers can’t think, they don’t know or care what their purpose or task is, and they’re just an enormous pile of bits. Not to be too reductive, but computers don’t need code. Humans use code to tell computers what to do and how. The code, therefore, is the medium of instruction. AI tools at their best serve to elevate the medium of instruction up one layer. If the developer is the person instructing the computer and the instructions take the form of prompts, then the prompt engineer is the developer.
What then of the junior engineer? People say that junior engineers are useless now that the bulk of commodity development can be done by AI tools, but I disagree. Caveat: I agree that commodity developers are useless - because they always were. Companies that see engineering as a delivery-only function where vast tranches of offshore developers can be swapped out were never getting real value from engineers. Where real engineering happens isn’t only where finger meets keyboard. Leadership sometimes thinks that coding is this esoteric magic spell that a programmer casts and that the difference between programmers is only measured in salary.
I believe that the role of an engineer is a strategic function where the impact scales as the person moves upwards in a company. Junior engineers’ role is to learn their craft as well as the business. They take that knowledge and scale it upwards as they grow in experience. I see reification as the most important role engineers can serve at any level. Reification means making the abstract concrete, and this function is one of the most difficult and most important roles. Where solutions require technology (which is nearly every solution in modern business) engineers provide value by reification. AI tools best capacity to help with reification and are not agents in their own right.
All this being said, I am actually worried about the role of Junior Engineers disappearing. Not because they are completely replaceable by Cursor, but because leadership thinks they are replaceable, which is effectively the same. I hope that this is a near-term trend. Perhaps this will change once companies realize that the types of solutions a given itinerant product manager in their spare time cobbles together with an LLM are less effective than what a junior engineer can build.
It should go without saying that without a pipeline of junior engineers, companies that rely on reified engineering solutions will eventually starve for the kind of senior engineers that are doing the bulk of that work today. I understand the great hope of AI believers is that AGI will replace all workers but as I’ve written before, I don’t think this will come to pass.