AI makes coding easier. Software engineering gets harder.
by Mischa Ramseyer
AI lowers the barrier to writing code. That’s obvious — and hardly controversial. What only becomes clear once you actually build production software with AI is something else: software engineering gets harder. Not in theory, not in experiments, but right where software is built to run in production.
Leadership becomes the real work
When building production software with AI, one thing becomes clear very quickly: being able to code well is no longer enough. At the same time, you need to understand what the business actually needs, which architecture and design choices will hold over time, and how decisions affect UX, testing, and operations — while AI keeps producing more code.
The nature of work shifts. AI writes code fast. But it needs to be led — continuously, not occasionally. Every prompt iteration, every piece of code you accept, every adjustment you make is a leadership decision.
What belongs in the system? What doesn’t? Which shortcut is acceptable — and which will come back to bite you later? Which structures can grow — and which need to be cut back deliberately? These decisions aren’t made once. They are made while you build. Lines of code grow, but maintainability drops — fast.
Coding well is no longer enough
AI accelerates what used to happen slowly. Unclear decisions, missing guardrails, and implicit assumptions don’t stay hidden anymore — they surface immediately, in the code, in the structure, and in production.
As a result, software engineering now demands broader capability. Not as an academic ideal, but as a practical necessity when building real systems.
AI needs clear guardrails
A common misconception is: AI will take care of code quality. That only holds when leadership is present. AI produces exactly what you allow. Without clear boundaries, it sprawls. With strong guardrails, it becomes precise:
- architectural decisions must be explicit
- conventions need to be clear
- quality is not optional
- tests are not a nice-to-have
- operations must be considered from the start
Without AI-leadership, you quickly end up with lots of code — but no system that holds.
Responsibility becomes visible
Quality is not a side effect of the technology. It is the result of consistent leadership in engineering. The faster code is produced, the less forgiving systems become when clarity is missing. Structural weaknesses, messy boundaries, and unclear ownership surface earlier — and have stronger impact.
AI-powered software engineering brings responsibility to the surface. When fewer engineers work in neatly separated roles, there’s nowhere to hide behind business analysis, architecture, or testing. As an engineer, you carry responsibility for the system as a whole. Those who lead stay in control.
The role of software engineers changes noticeably: less execution, more leadership, more responsibility. Not everyone wants that role. And not everyone who wants it has the skills to fill it. Even if both are true, there is still one more challenge: fully committing to the AI companion — with all its strengths and flaws.
This is where many of the reservations about AI in engineering originate.
Conclusion
AI makes coding easier. Software engineering gets harder. Not because the technology is more complex, but because good software demands more than correct code. If you want to use AI productively, you need to be willing to lead. In the code, in the architecture, and in day-to-day work. Only then does AI become what it can be: an amplifier of skill — not a replacement for it.
Why this fundamental shift cannot simply be “introduced” is the focus of our next article Why simple AI introductions always fail.