Engineering in natural language
Since Opus 4.5 arrived late last year, I’ve thought the future of software engineering would be engineers working with AI agents in natural language. The underlying code would increasingly be written and understood primarily by AI. DHH describes that shift in his Rails World opening keynote. Describing what the software should do becomes a larger part of the work, while agents handle more of the implementation.
That could eventually give us entirely new programming languages designed around agents. Rust already hints at the shift. A language can be unpleasant for a human to write and still be a great choice for the resulting software. DHH’s experience with Rust puts that tradeoff into practice: agents handle the code, while the product benefits from its performance and small executables.
I think this leads to better software. More of the effort can go toward making the product work well, including improvements that previously cost too much to justify. Engineers still have to figure out what to build and how it should work, then judge whether the result delivers that experience. Those decisions remain human work even as less of the implementation requires human hands.
Taste becomes even more important when almost any feature is within reach. Being able to build everything makes it easier to produce a product that tries to do everything, and those products tend to be poor. Good products have focus. It takes judgment to choose what belongs and discipline to leave the rest out, even when adding it is cheap.