I've been back and forth on this, but after working on a few AI-coded apps, I have, for now, confirmed my belief that it still matters whether the codebase is robust.
Firstly, I believed that it does not matter what's under the hood if it works. But I found that I can't make it work without the code being robust, testable, and maintainable to a certain degree.
Therefore, I am linking my article that explores this a bit more and shares what I think are the three most important points that you should still care about writing good code, which are:
1. AI will train on it - the most long-term reason, most people won't care, but it does affect everyone
2. You still need to do the final touches - it's probably not a good idea to prompt for one-line changes, it's like calling an electrician to change the lightbulb
3. Software is never done, and it should be easy to change - AI will struggle with more tokens, and you with more time, if your code is not of good quality
Anyway, I am just sharing my shower thoughts and hopefully will start an interesting discussion.
100% human written with AI used for spelling!
"Good code" used to mean readable, well-structured, maintainable by humans. When AI writes the implementation, those qualities become secondary.
What matters is: was the design clear enough to produce correct code in the first place?
The pattern I keep seeing: teams try to enforce quality after generation — linting, reviews, static analysis. That works for surface-level issues. It doesn't catch architectural drift, because by the time you're reading the code, the design decisions are already baked in and invisible.
Quality has to move upstream.
If you can't make AI-coded apps work without the code being robust and testable, the question is: who's responsible for making it robust and testable? The answer can't be "hope the AI gets it right." It has to be constraints that make wrong output impossible.