Get the guide to build your first AI agent directly in your inbox with a newsletter signup:
I’ve heard many times recently that we are lowering our code quality because of AI.
Some people argue that AI is stupid and writes working code that is not maintainable. Others argue that we can’t go fast and have good code.
I think those are not accurate. We’re not lowering our bar because of AI; it’s probably because we got used to coding “the old way” and didn’t learn about doing it with AI.
It’s time to re-learn what “good software engineering” is about. In this article, I’ll shift our mindset from focusing on the code to focusing on the harness that writes the code…
👉 If this sounds interesting, subscribe now. 22,000+ engineers are already becoming more productive. Paid subscribers have access to premium resources
AI isn’t forcing a quality tradeoff.
For those of you who have been coding before AI, like I’ve been, you may remember an impossible deadline in a different way.
Instead of just asking AI to code something, you had to prototype things, barely skim through library documentation until you got something that works, and have no time to refactor.
It was always normal to ship short-term solutions to favor speed, and later refactor once we had more time.
But now that AI is writing the code, couldn’t it write it in good shape from the beginning?
Let me tell you a story about a management book. There were two farmers; each had a hen that was producing a lot of eggs. The first farmer decided to force it to lay more eggs, all the time, to sell them. He was focused on the eggs. The second one was focused on creating the right environment to lay eggs, taking care of the hen producing the eggs. The first one stopped laying eggs; the second one was producing more and more.
This story is about taking care of your engineers before they burn out, so they will produce better code. But we’re now managing AI, and it applies to us as well. It’s not about telling sweet things in your prompts, but about designing the system that makes AI write good code.
AI is fast by itself, but it may not be right by itself. The quality of software generated with AI depends on the system that you, as a human, have created for it. If it’s generating bad code, you are the problem.
Some of the things that impact AI-generated software quality:
Clear standards, consistent in current code
Fast feedback: Unit tests, functional tests
Close the feedback loop: Allow the AI to deploy the changes, run the tests, and inspect against a quality checklist.
Your AI can’t follow a standard it can’t validate
At work, I’m constantly trying new tools and approaches. The thing with a technology like this is that everything is new, and you may find benefits in something you didn’t expect.
One such tool seemed promising at first; it was triggered after a ticket was added to a sprint, generating code and raising a PR. This is the dream of everyone, the AI replaces end-to-end the implementation.
But there was a catch, as you may already be guessing.




