Is coding taking the long way?

Nick Hodges
6 Min Read

There’s likely a more direct path from what AI models can do to the software we actually want, rather than having AI agents fuss with writing code.

cow female black white
Remember when cars first came out? Many of them looked—and were even called—”horseless carriages.”
Early newspaper websites? They mirrored the print versions exactly. And honestly, they still do to some extent. Even our computers have “desktops” and “files”—terms that totally echo a 1950s office setup.
And get this: it’s even rumored that the width of our railroad tracks goes all the way back to the distance between the wheels of a Roman chariot (though that particular claim is a bit shaky).

This whole idea—of using brand-new technology in the same old ways—is often called “paving the cow paths.” Cows aren’t exactly known for finding the shortest distance between two points, are they? So, it often makes no sense to lay down pavement right where they’ve worn tracks in a field. The brilliant Peter Drucker summed this up perfectly when he said, “There is surely nothing quite so useless as doing with great efficiency what should not be done at all.”

 
All these thoughts got me pondering AI writing all of our code these days.

Is Code Even Necessary Anymore?

As developers, we dedicate years to honing our skills. We devour books on clean code, write countless blogs about structuring code properly, and rightly remind ourselves that code isn’t just for writing—it’s meant to be read and maintained just as much. But AI coding? That could completely flip everything we know. Your coding agent doesn’t need to appreciate all that “great stuff” we humans do. Things like comments, clear variable names, and neatly built classes are all for *us*. Honestly, code itself is a human invention, a tool we created to make it easier to understand and build the software we design.

I was recently using Claude Code to put together an application, and I kept pushing him (yeah, I can’t help but picture Claude Code as a person) to code against interfaces, not implementations. I wanted him to design everything with small, single-purpose classes, and all that good stuff. I expected the code Claude made to be exactly what we developers always aim for—well-written, easy to maintain, and nicely decoupled. You know the drill. And then it hit me: are we just paving cow paths here? Should an AI agent even care about the same things *we* humans obsess over when building software? Claude was writing comments everywhere—but those were for me, not for him. He was just doing what I asked. But what if he has a much better way of making the software actually work? Seriously, who needs code anyway? It’s not far-fetched to think that coding agents might eventually just churn out machine code directly—meaning, they could compile your plain language instructions right into a binary file. (Now *that’s* one way to end the language wars!)
 
Right now, our process involves writing code, reviewing it, compiling it, and then running it. We’ve just added another layer: explaining our intentions to an agent who then translates them into code. If *that’s* a cow path—and the more I think about it, the more it seems like a pretty roundabout way to get from point A to point B—then what *is* the most direct route?

The Most Direct Path to Software

Our coding agents are improving constantly. The better they become, the more we’ll trust them, and the less we’ll feel the need to meticulously review their code before committing it. Someday, it’s easy to imagine, agents will even review code that *other* agents wrote. What happens to code when humans eventually stop reading what agents produce? Will code even hold any importance then? Will we still write unit tests—or have our agents write them—solely for *our* benefit? Do coding agents even *need* tests? It’s not hard to picture a future where agents automatically test their own output, or simply build things that just work without requiring explicit tests because they can “foresee” what the test results would be.

Ask yourself honestly: When was the last time you actually scrutinized your compiler’s output? Can you even *understand* what your compiler produces? A few of you might, sure. But let’s be real, most of us can’t. Perhaps AI will eventually invent a completely new way of designing software based on our plain language inputs—a method that’s far more direct and to the point, something we haven’t even dreamed of yet. In that world, code might stop being the primary representation of software altogether. Maybe, just maybe, code will become one of those things that, as Peter Drucker so wisely observed, “should not be done at all.”
 
Software DevelopmentCareersDeveloperRolesEngineer
Share This Article
Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *