In the time it takes to get an undergraduate degree, Large Language Models (LLMs) have evolved from delivering realistic chat responses, to autonomously coordinating and completing tasks at the scale of full engineering teams.
In programming circles, Stack Overflow used to be where you landed when you got stuck. A simple search typically led you to discover another programmer who had suffered through the same problem, and if lucky, the solution too (relevant xkcd). Since 2022, however, the number of new Stack Overflow posts has fallen by 77%. Instead, developers have begun turning to tools like ChatGPT to get help, and now, even entire fleets of Coding Agents.
In my experience, coding agents can do amazing things. I've built numerous prototypes in a few hours, that would have once prevented by my own incompetence. Most recently it was a full-stack iOS app for photographing, indexing, and searching my personal storage bins. The back-end was familiar territory for me, iOS front-end was not. So I let agents do 100% of the front-end work for me, and by the afternoon I had a fully functional prototype. I still experience the limits of these agents though. In a recent case, I was adding a configurable field for an SSL certificate path. The task was mundane and well-defined, yet the agent fixated on adding an unrelated parameter. No amount of pleading could convince the agent that it was, in fact, wrong.
Steven Yegge poses a compelling vision of the use of coding agents with his provocative orchestration tool called Gas Town:
Gas Town is an industrialized coding factory manned by superintelligent robot chimps, and when they feel like it, they can wreck your shit in an instant.
Relatable. Yet while it's clear that something major has changed, I remain unsure of how this will play out over the next decade or two. Some believe AI Super-intelligence is just around the corner (for good or evil). Others believe we're mistaking philosophical zombies for true intelligence, and speedrunning our own brainrot.
When facing an uncertain future, I try to anchor my predictions in historical outcomes. In the history of computing, it turns out that Vibe Coding, or more specifically Automatic Programming, has been invented before. Reading this history reshaped my own view of the future and my place in it. Your mileage may vary.
The Priesthood
Let's go back to the early 1950s. Computing machines had progressed from mechanical abacus-esque calculators, to room-scale computing machines capable of ending wars. The ENIAC and UNIVAC were state of the art. The field was small, with fewer than 1,000 computers in existence.
Programming these machines was labour-intensive. It was done on punch cards, with the programmer defining exact mechanical steps from an operator's manual. Performing a simple two-number addition involved explicitly choreographing where the values would be stored, when the computation step would fire, and wiring the outputs back to meaningful addresses. There was complexity even in the most basic requirements.
... continue reading