Writing

Code was the translation layer

Brett Wheeler

A worn wood chisel resting on a sun-lit timber block

For seventy years the word held. Fortran, Lisp, C, Python — variations on a single move: write precise symbols, hand them to a compiler, watch the symbols become the running thing. The artifact and the text were the same object. We called it code, from codex — a system of rules written down — and the word was honest because the system was the writing.

What's shifting now isn't programming's purpose. It's the locus of the primary artifact. The text is no longer the thing. Intent is. Sufficiently well-specified intent derives the text — sometimes with a person in the loop, increasingly without one. The translation layer between intent and execution, which we used to call our craft, is becoming machinery.

The interesting move isn't AI replaces coders. The interesting move is the realization that code was always intermediate. Knuth defined programming, decades ago, as "the art of telling another human what one wants the computer to do." Read that sentence again. He said another human. The compiler was a footnote. The work was specification, addressed to a peer, with executable bytes as a side effect of the conversation. We just rarely had to be honest about it, because the only available specifier was a programmer typing into a text editor and the only available reader was a parser. The shape was specification all along. The new readers — language models, agentic systems, whatever follows them — are exposing a shape that was already there.

This is the part worth sitting with. The shift feels disorienting because we mistook the medium for the work. The medium is leaving. The work was never the medium.


Vocabulary is scrambling to catch up. None of the candidates have won, and watching them compete is a useful exercise in noticing what each one quietly believes.

Prompting crested early and is already dated. The unit is too small — prompts are single-shot, and sustained work is not a sentence.

Prompt engineering had its moment and has receded. Most people who do it well no longer call it that.

Context engineering — sharper, championed recently by Simon Willison and a handful of others. It captures the real preparation: system prompts, examples, retrieved documents, memory, tools. It describes the table-setting more than the dinner.

Vibe coding, Karpathy's coinage from early 2025, is deliberately informal. It names a mode, not a category, and will likely survive as slang for the freewheeling end of the practice without becoming the formal term.

AI engineering, agentic engineering — jockeying for the role-title slot. One of them probably wins inside five years.

Specifying is the most semantically clean candidate. The spec is the new primary artifact. The verb that produces specs is the new center of work. Its problem is cultural, not semantic: spec carries waterfall-era bureaucratic weight that programmer culture has spent decades shedding. The word is right; the connotations are wrong.

And then intent — the wildcard. Not yet branded around, but quietly threaded through how the agentic tooling space talks about itself. Give the agent intent, not instructions has become a design principle in places that haven't compared notes. If a tool with enough cultural gravity stakes a claim on the word, intent-driven development could become the dominant frame the way version control became git.

My honest bet, for whatever a bet is worth: engineering alone, used as both noun and verb, becomes the dominant umbrella over five-to-ten years, with AI or agentic sometimes prepended when specificity matters. Coding recedes into meaning the literal-text-production sub-act inside the larger practice — the way typing receded once writing stopped being a typist's job.


There's a quieter observation underneath all this, and it's the one I keep returning to.

Descartes anchored selfhood in thought: cogito ergo sum. The structure of that move — find the irreducible thing, build outward from it — has shaped a lot of how the West frames work, including how we framed programming. The irreducible thing was the text. Everything else was orchestration around the text.

But thinking, by itself, doesn't produce much. Choice does. Intent does. The act of deciding what should be — and then arranging the world to match — is older than any tool we've used to do it. Code was one tool. A long-lived one. Not the last.

What changes when the translation layer thins out isn't the work. The work is what it always was: notice what is, specify what should be, let the rest follow. The Daoists had a word for the let the rest follow part — wu-wei, non-forcing — and it's strange and a little funny that the most modern-feeling shift in software is rhyming with a 2,500-year-old idea about working with the grain instead of against it. The grain was always intent. We just spent seventy years polishing the chisel.


None of this is a forecast about jobs, or a manifesto, or a take. It's an observation, and observations are cheap. The point of saying it out loud is that the words we use to describe our work shape what we believe the work is. When the words drift, the work has usually already moved, and the people who notice the drift early tend to spend the next decade doing different things than the people who don't.

If anyone has ears, etc.