
By the time you can describe what you want precisely enough to delegate it, you’ve already built it.
Every wave of delegation arrives with the same promise. Offshoring made it, and AI coding assistants make it now: hand the building to someone cheaper or faster, and you are free to do the thinking. Then the offshore project comes back. It meets every acceptance criterion and the demo runs perfectly, yet in production it takes the system down on every 57th run, because under the clean demo sit data structures designed by H.R. Giger.
The obvious fix is a better spec, and people who tried it learned where it leads. You had to specify every failure state, because the remote team didn’t “just know” them. You had to name the libraries, say how and where to log, list which external APIs to check. Each round added detail to the document, and the hours saved on building came back as hours spent describing. Byrne Hobart, tracing the pattern from offshoring to AI agents, reaches an uncomfortable result: specifying what to build takes almost as much time as actually building it, and underspecification produces surreal nightmares.
Why the spec eats the savings
Delegation changes the type of work more than the amount. The person who used to write code now writes specifications and reviews what comes back, and both jobs need the same understanding of the problem the original job needed, plus a new skill: putting that understanding into words that can’t be misread.
Words can always be misread, because every detail you leave out gets filled with the builder’s defaults instead of yours. The team that crashed on the 57th run wasn’t stupid. It couldn’t know which edge cases you would have handled out of habit, because the habit lived in your head and never reached the document. The further the builder sits from that context, the more the spec must carry, until it becomes a programming language: a completely unambiguous specification of a program is called a program. Even that would only record what you knew at the start, since, as Weinberg put it, people seldom know what they want until you give them what they asked for.
The same trade, faster
AI assistants run the cycle faster. Natural language is ambiguous by nature, and the model fills each gap with defaults from its training data rather than your intent. The bottleneck has moved from coding speed to specification quality, and specification quality is bounded by the same understanding that building required. Which is to say that the hard part of building software was never the typing — it was the thinking.
None of this makes delegation a mistake. It works well for work the delegator has already done, where the spec can be written from experience. It goes badly for discovery, where the requirements only become clear while building, and discovery is where most of the value lives.
So go back to the 57th run. The person who could have written a spec that prevented it already understood the system well enough to build it. If AI can’t take that understanding off your hands, the better question is whether it can help you get it. At a real frontier, the crystal earns its keep upstream of the spec, generating rival descriptions of the unfinished problem so the builder can see what needs specifying.
References:
- Byrne Hobart, Offshoring and AI Agents, The Diff