It Still Takes a Programmer
AI Changes Nothing
Programming is still all about editing
Sounds like clickbait, but it’s true.
Programming has never been about the act of entering code: of typing characters, moving blocks of text, saving files, and compiling. All that stuff is (or perhaps was) a mechanical aspect of the job: nurses take temperatures, conductors wave a stick, and we wrestle code. But none of those things define the job; they’re just stuff we have to do to get the real work done.
As with most complex jobs, there’s no single defining activity that is programming. Sometimes we’re like therapists, helping our clients come to an understanding of their problems. Sometimes we’re translators, converting back and forth between the messy real world and the less forgiving world of code and hardware. Sometimes we are persuaders. Always, we’re human beings, bringing the imperfect lens of an organic eye to bear on hard problems.
But, at the heart of software development is an incredibly important skill. We are editors. But that has nothing to do with keyboards.
Editing Is Directed Curation
Outside of software, editing means organizing and polishing something to make it ready for release. A newspaper editor collects, refines, and organizes articles. The editor for a talk show lines up interesting guests and then sets up interesting things to discuss. The editors of the books at The Pragmatic Bookshelf herd authors through the complex and very human challenge of organizing experience into a sequential story.
Editing means organizing and polishing something to make it ready for release.
Good developers have always been experts at this kind of editing. They take a bunch of vague ideas and try to arrange them in a way that makes sense. They polish and refine, swapping algorithms, rearranging modules, all to improve the final delivery. And they’re not afraid to wield the red pencil, striking through whole chunks of the system that aren’t carrying their weight.
The book editing analogy works quite well for programming. Our business folks are the authors, full of great ideas, but with no structure to organize them. Just like real-world authors, they know what they mean, but they often don’t know how to express it.
And the readers in our analogy? They’re the people who use the systems we produce. They’re the people the business wants to reach, and to influence.
And we sit in the middle, organizing, translating, experimenting, cutting; all the things that a book editor does.
And here’s the cool thing. That skill was important 20 years ago, when we were churning out C++ and Java. But it is equally important today, in a world where most of the code churning is done by agents. Claude can code. But Claude doesn’t have your spidey sense. AI is great at thinking locally, but not so good at keeping the big picture in focus. That’s why we still need people; people who act as editors: directing, polishing, cutting, and assembling.
And that’s why good programmers continue to hone their skills. They work on building a deeper and broader understanding of how code should be developed, because those skills matter whether you’re punching cards, typing into VSCode, or guiding an AI.
What It Takes
I have a theory. The skills we used to curate our code before the advent of LLMs are exactly the same skills we should be using now. Those techniques are just as relevant to code that is generated and code that is hand crafted. Orthogonality, DRY, decoupling, modularity, function size, even the names of variables: all of these are critical to the effectiveness of AI-written code. Sometimes the reason a technique is important is the same for people and computers; sometimes it is different.
I’ve been experimenting, and I’m convinced that there are clear coding principles that make AIs more effective and our code better. I’m going to be writing about these over the coming weeks.
This is the start of a series of posts where I’ll be exploring this, as well as other aspects of the human side of AI interactions.
When I started this work, I felt pessimistic and a little frightened. I was convinced that my world of software development was over. But the more I researched, the more I realized that isn’t true. The skills we honed writing code transfer directly to writing code with Claude or Codex. If anything, AIs make these skills even more valuable. Without them, what is produced quickly become unmaintainable slop.
Subscribe (for free) and follow me as I explore these ideas. And, as always, please let me know what you think.
.




