I'm both a skeptic and an advocate of AI tools for knowledge work. Software engineering is an extreme case where a healthy dose of both skepticism and advocacy is appropriate. I won't bury the lede—I don't think AI is going to replace software engineers. However, I do think AI is going to change what it means to be a software engineer, and the transition has the potential to be painful.
Software engineering isn't just writing code
People, software engineers included, forget that "software engineering" isn't even mostly about writing code. Writing code is a big part, but:
Somebody still has to translate business problems into solutions.
Somebody still has to be accountable when things go wrong. (Self-driving cars still require driver attention for a long time.)
Somebody still has to be able to dig in where AI can't. There will always be cases at the "jagged edge" where AI falls short.
LLMs can optimize existing workflows, but it doesn't replace the need for high-level decision-making and debugging complex, novel issues. Sure, you can vibe code and make quick progress, but you’ll still need your own critical thinking and experience to draw from
You can’t outsource deciding what you actually want. AI is just a better interface for getting the computer to understand what you want. The programming language is a tool just like Cursor is a tool.
The future of software engineering
Software engineering isn’t going away, but it is going to look different.
Some argue that AI will lead to companies hiring fewer software engineers. But if AI gives engineers more leverage, why wouldn’t companies hire more of them to maximize output? Some companies have a cap on how much engineering productivity they can actually monetize, so they may shrink headcount. Other companies, including new ones, will happily use productive talent. OpenAI, for example, is still paying a fortune for top-tier software engineering talent.
If AGI is so close and software engineers are about to be replaced by ChatGPT, why is OpenAI still hiring software engineers?
If companies exist to maximize profit, and AI enhances the productivity of engineers, it makes more sense to add engineers rather than subtract them.
So what should software engineers actually do about AI?
AI isn’t replacing "most" software engineers anytime soon. But it is changing the game, and the best engineers will be those who learn to play it well.
Become so good they can’t ignore you. Lean on AI tools for tasks like writing code or even system design. Wield AI like a power tool instead of outsourcing to it like a robot vacuum. Become augmented.