There's a lot of people out there who are saying that the AI age is a new paradigm for software development. They argue that we need to chuck out all of our assumptions about how code works and what good code bases look like.
The reasoning goes like this: agents are fundamentally different from people, from human developers. They need entirely different guardrails and entirely different setups. In other words, the old rules are for boomers, and now we need to find new ways of building software.
Much of this thinking comes down to a single mantra: code is cheap.
When you have an AI agent that can basically churn out tons of code, the production of code becomes so much cheaper. So the argument goes that we don't need to worry that much about bugs anymore, because the AI will just be able to blast through code and create code faster than we've ever been able to see before.
The conclusion people draw: software quality matters less because you can just always churn your way out of software quality issues. If you have a bad code base, the AI would just be able to fix it by blasting out more code.
I think this is incorrect.
I think that software quality matters more now, and that AI agents are more sensitive than humans to software quality. This massively affects how we should design our code bases and systems to take advantage of AI best.
But first, let me start off by defining what I mean by software quality.
Is the code base easy to change?
This definition comes from The Philosophy of Software Design by John Ousterhout. John makes the argument that if a codebase is easier to change, then we can think of it as a better codebase.

In other words: