I’ve been waiting for this: the November–December issue of ACM Interactions is now online, with our cover story, “After the Human Programmer”, with Martin Jonsson and Jakob Tholander.
When we wrote it, I think the argument might have seemed far-fetched to many readers. What was then a nascent trend now feels increasingly mainstream among professional programmers. I’m seeing more and more people stop reading code altogether.
But I’m getting ahead of myself.
The article explores how programming is moving from something humans do to something machines do. We draw a parallel with compilation: translating higher-level instructions into machine code was once human work, too. Today, we take its automation for granted. I suspect that, in hindsight, the current transition may look similarly ordinary, however dramatic it feels right now.
That has consequences for how we reason about software, and how we design, construct, and interact with computers. We propose three roles for humans after the human programmer:
- Software procurer: articulating what we want software to do, rather than specifying how it should do it.
- Design explorer: discovering what we want by trying, comparing, and revising functioning alternatives, rather than specifying everything in advance.
- Software steward: guiding how software evolves, preserving organizational memory and ensuring that its behavior remains reliable and accountable as implementations change.
Returning to the article after the wait for publication, I’m struck by how much there is to explore. We’re already writing further about a few of the ideas introduced here.
Please have a look. I’m pretty pleased with how it turned out.