Quoting Armin Ronacher
Simon Willison Simon Willison
Armin Ronacher argues that software projects maintain shared understanding through friction—code reviews, conversations, and coordination—which forces developers to align on concepts, boundaries, and system design. This synchronization process slows development but serves a purpose beyond waste reduction: it ensures mutual comprehension of how the system actually works. AI agents that bypass this friction risk eroding the distributed knowledge that keeps large systems coherent.
Why it matters
The shared language of a software project is not English or Python but it is the common understanding of what its concepts mean, where the boundaries are, which invariants matter, who owns what, and why the system has the shape it does. This language is rarely written down in one place. It lives partly in documentation and code, but also in code review, conversations, arguments, and the experience of having to explain a change to somebody else. Before agents, some of this shared understanding was maintained by friction. If I wanted to change your storage layer, I usually had to read your code, ask you questions, and perhaps coordinate with another team whose service depended on it. This was slow, and much of that slowness was waste but not all of it was. Some of it was the process by which your understanding became mine, and by which both of us discovered whether we still agreed about how the system worked. This friction synchronizes people. — Armin Ronacher, The Tower Keeps Rising Tag