Irreversible Change—The Era of AI-Written Code
A few years ago, whenever I needed to create an English document, I would always ask a native speaker or a friend fluent in English to review it. But now, the necessity for that has almost disappeared. AI-based translation has surpassed a certain quality threshold and reached a practically usable level.
If “translating from one language to another” is slowly being replaced by AI, then perhaps the same is about to happen for our core task as developers: “translating specifications into computer languages.” We might be standing at the threshold of a similar shift.
The future in which “most of our code is written by AI” might not be here yet—it might not even come this year. But it’s already beginning to feel so real that it’s hard to imagine such change not taking place.
Beyond the Framework Era
In today’s “framework era,” the main objective has been to improve the developer experience. By making development easier and more efficient, frameworks have gained widespread support among developers.
However, AI-generated code is a different matter. It goes beyond simply streamlining the development process and forces us to redefine it. The act of writing code itself is shifting from humans to AI. Developers are moving toward a role where they clearly define what needs to be achieved and verify its quality. In doing so, the expectations placed on tools and code—as well as the roles of humans and machines—are changing significantly. The relative value of “easy to learn, quick to implement” is on the decline, and code itself is being asked to deliver new forms of value.
Beyond “As Long as It Works”
Up to now, the technical debt incurred by an organization’s choice of language or framework—under the banner of “as long as it works”—was limited by the scale of individual developers or teams. Reviews and refactoring kept it somewhat under control.
But in an era where AI can generate vast amounts of code, the usual time and cost constraints of human-driven development fall away, making it possible for technical debt to grow at an exponential rate. This isn’t just a matter of quantity; it’s a qualitative shift.
The Need for New Quality Standards
Even if AI is writing the code, it’s humans who remain responsible for technical aspects such as performance optimization and code maintainability. What we need in such an era is not just code that “works,” but code that meets verifiable quality standards. This entails:
- Database queries with transparent execution plans
- Formally verifiable component behavior
- Performance characteristics understood via telemetry data
- Application constraints the entire team can clearly grasp
A Transformation in the Developer’s Role
Such changes imply a fundamental shift in the role of developers. We evolve from being “people who write code” to “people who define and verify quality.” That includes:
- Defining formal specifications
- Designing verification criteria
- Clarifying performance requirements
- Overseeing quality at a team-wide level
These are higher-order responsibilities than we’ve typically held.
Toward the End of Writing It All by Hand
As a framework designer, I’ve found myself wondering whether the day will come when it’s no longer feasible for humans to manually type out every line of massive codebases. Yet, I’m also not eager to step onto an airplane maintained by ChatGPT-generated code, or hop into a driverless taxi run by Claude’s driving program. I acknowledge the gap between my rational mind and my gut feelings, and I wonder what can bridge that gap.
As developers shift away from typing every detail by hand and move toward defining and verifying quality, we’re not merely improving efficiency—we’re reinventing our development culture. The more code generation is automated, the higher the level of responsibility we assume. Tools like formal methods and telemetry—rigorous, objective ways of verifying correctness—will likely form the backbone of a new development framework.
Though there’s a certain wistfulness in seeing the era of typing everything by hand come to an end, perhaps this is our chance to see our work transcend mere code creation, becoming the design of software’s future at a more fundamental level.