thing
Sign in

The real work is collective understanding

In a survey of 800 software professionals, 59 percent said they use AI generated code they do not fully understand (Clutch). Read that as a fact about individuals and it sounds like a discipline problem, the sort of thing a stricter review policy fixes. Read it as a fact about teams and it is something worse. The code is now the shared property of a group that never formed a common idea of what it does.

A program is a theory

In 1985 Peter Naur argued that the real product of programming is not the text of the program but the theory held by the people who wrote it. Source code and documentation are leftovers. His hard conclusion followed from that: a program whose theory has died cannot be revived by handing the source to new people, because what they are missing is not information. They can read every line and still not know why the system is shaped the way it is, which changes are safe, or which parts are load bearing.

The essay reads strangely now. Naur was worried about teams dispersing over years. The mechanism he described has been running at a much faster clock since agents started writing most of the first draft.

The theory was never personal

Naur wrote about programmers plural, and that detail carries the weight. The theory is not four private understandings that happen to agree. It is a group possession, built by the same activity that builds the software: writing it together, arguing about it, watching someone else reject an approach and learning why.

The organizational research points the same direction. A meta-analysis of shared team mental models across 23 studies found the degree to which team members hold similar models relates to how the team performs (DeChurch and Mesmer-Magnus). Worth holding the counterweight too: more recent work finds that strongly shared models can suppress proactive problem solving, because a group that agrees too smoothly stops looking (Carraro, Furlan and Netland, 2025). Shared understanding is not automatically good. It is the substrate that makes disagreement productive rather than confusing.

What actually changed

The interesting erosion is not that individuals understand less. It is that the activities which used to produce the shared theory are precisely the ones being automated. Writing the first draft together, reviewing it line by line, defending a design in front of someone skeptical: those were never only about producing code. They were how the theory got distributed.

You can watch the measurement problem arrive ahead of the thing it measures. A 2026 paper argues that authorship based knowledge metrics, the family that includes bus factor computed from commit history, stop meaning anything once agents write the code (The Substrate Collapse). Git blame was always a crude proxy for who understands what. It was still a proxy for something real. Now the proxy is broken while the underlying quantity keeps draining, quietly, with every green pipeline. Derik Hammer has a good name for the individual version of this, comprehension debt: clean code you do not actually comprehend, accumulating while every velocity number improves.

The strongest objection

The serious counter comes from people who take Naur seriously. Sean Goedecke argues that agents can build workable local theories of a system, that engineers now keep thinner mental models than they used to, and that the trade is worth making (his post is worth reading in full). He also mentions rejecting the large majority of what his agents propose, which is the tell. That rejection rate is only possible because he has a theory to judge against. His practice argues for theory building more strongly than his conclusion argues against it.

The bolder version says human inspection is on its way out entirely, and there is a paper making that case. Grant its premise for a moment. Even if an agent holds a perfect theory of the system, ask it my question and it answers me. Ask it yours and it answers you. Two correct answers, delivered separately, do not add up to a team that agrees about what the system is. Collective understanding is not a sum of retrievals, and it never was.

If that is the work

Then the output that matters is not the artifact. It is the state left behind in several heads at once, and that state only forms where people encounter the same thing and react to it where the others can see. A private read produces private understanding. A conversation attached to the work produces the shared kind.

This is uncomfortable because it does not scale the way generation does. Collective understanding costs meetings, arguments, and reading time, and no tool removes that cost. The most a tool can do is stop wasting it: keep the work in one place instead of five stale copies, let questions land on the exact sentence that caused them, and make what changed since you last looked visible in seconds rather than reconstructed from memory. That is the entire bet behind what we are building, and it is a modest one. The expensive part stays human.

Naur's warning was that a program dies when its theory does. The new failure mode is stranger. A program can now be born without one.