A Coder Considers the Waning Days of the Craft
By
Josh Clark
Published Feb 19, 2024
In the New Yorker, writer and programmer James Somers shares his personal journey discovering just how good AI is at writing code—and what this might mean both individually and for the industry: A Coder Considers the Waning Days of the Craft. “Coding has always felt to me like an endlessly deep and rich domain. Now I find myself wanting to write a eulogy for it,” he writes. “What will become of this thing I’ve given so much of my life to?”
Software engineers, as a species, love automation. Inevitably, the best of them build tools that make other kinds of work obsolete. This very instinct explained why we were so well taken care of: code had immense leverage. One piece of software could affect the work of millions of people. Naturally, this sometimes displaced programmers themselves. We were to think of these advances as a tide coming in, nipping at our bare feet. So long as we kept learning we would stay dry. Sound advice—until there’s a tsunami.
Somers travels through several stages of amazement (and grief?) as he gets GPT–4 to produce working code in seconds that would normally take him hours or days—or sometimes that he doubts he’d be capable of at all. If the robots are already so good at writing production-ready code, then what’s the future of the human coder?
Here at Big Medium, we’re wrestling with the same stuff. We’re already using AI (and helping our clients to do the same) to do production engineering that we ourselves used to do: writing front-end code, translating code from one web framework to another, evaluating code quality, writing automated tests. It’s clear that these systems outstrip us for speed and, in some ways, technical execution.
It feels to me, though, that it’s less our jobs that are being displaced than where our attention is focused. We have a new and powerful set of tools that give us room to focus more on the “what” and the “why” while we let the robots worry about the “how.” But our new robot colleagues still need some hand-holding along the way. In 2018, Benedict Evans wrote that machine learning “gives you infinite interns, or, perhaps, infinite ten year olds”—powerful but, in important ways, unsophisticated. AI has come a long, long way in the six years since, but it still misses the big picture and fails to understand human context in a general and reliable way.
Somers writes:
You can’t just say to the A.I., “Solve my problem.” That day may come, but for now it is more like an instrument you must learn to play. You have to specify what you want carefully, as though talking to a beginner. … I found myself asking GPT–4 to do too much at once, watching it fail, and then starting over. Each time, my prompts became less ambitious. By the end of the conversation, I wasn’t talking about search or highlighting; I had broken the problem into specific, abstract, unambiguous sub-problems that, together, would give me what I wanted.
Once again, technology is pushing our attention higher up the stack. Instead of writing the code, we’re defining the goals—and the approach to meet those goals. It’s less about how the car is built and more about where we want to drive it. That means the implementation details become… well, details. As I wrote in Do More With Less, “Done right, this relieves us of nitty-gritty, error-prone, and repetitive production work and frees us to do higher-order thinking, posing new questions that solve bigger problems. This means our teams will eventually engage in more human inquiry and less technical implementation: more emphasis on research, requirements, and outcomes and less emphasis on specific outputs. In other words, teams will focus more on the right thing to do—and less on how to do it. The robots will take care of the how.”
And that seems to be where Somers lands, too:
The thing I’m relatively good at is knowing what’s worth building, what users like, how to communicate both technically and humanely. A friend of mine has called this A.I. moment “the revenge of the so-so programmer.” As coding per se begins to matter less, maybe softer skills will shine.