humancode.us

Complex, AI-generated software projects will never happen

June 25, 2025

Complex software projects made up of mostly AI-generated code isn’t going to happen. And one reason I say that is because the code AI generates has no intent behind it.

Senior software devs spend an extraordinarily large amount of time reading existing code and asking not just how they work, but why they were written that way. Reading long-maintained, complex source code is more than mere reading comprehension; it’s closer to literary critique. You’re constantly trying to understand the thought process and motivation of whoever wrote that code, in the hopes of gaining insight into their frame of mind.

Well, AI code has no motivation, thought process, nor frame of mind. While the code it generates might work correctly (a bold assumption) at the point it was extruded, there is no plausible way of maintaining that code, and at some point of complexity (sooner than you think!) maintainability becomes critical.

But why do we need to understand the motivation behind a pile of code? Because it reduces amount of complexity we need to hold in our heads as we work on it. Understanding an original author’s mindset helps us visualize a simpler, higher-level roadmap of development that will very likely yield successful results that are harmonious with existing code. And as any senior software dev knows, complexity is the greatest enemy of engineering, and anything that helps constrain the beast increases the likelihood of producing error-free progress.

AI is great at producing isolated chunks of code of little consequence, things so mundane that they really aren’t load-bearing parts of any greater design, and require no deep understanding to maintain. To me, that constrains its practical use to generating scaffolding and boilerplate upon which your real code is built, essentially making the (very fancy and custom) grid paper on which you will actually inscribe your design. Let it write your for-loops, but don’t let it write the functions it calls.

AI coding tools can be time-saving automation at the hands of an already-senior developer, but that’s only because it relies on the motivation and depth of experience already found in the human who’s using it to shape it into something worthwhile. Like a seasoned musician toying with analog synthesizers and sequencers, finding serendipitous combinations in the semi-random stream of patterns that are suitable to be molded into actual works requires a human editor. AI itself cannot offer that wisdom.

AI will never be a replacement for expertise. It does not compensate for a lack of skill. It offers nothing to replace an understanding of the fundamental principles of the craft. It will not turn a junior engineer into a senior one.

And it will not create a complex product, at least not one that won’t crumble the moment you have to maintain it.

Newer Post