CONCEPT
Accidental Complexity
Brooks's term for the complexity that arises not from the problem being solved but from the tools used to solve it — syntax, configuration, dependency management, build systems. The complexity AI eliminates more thoroughly than any previous technology.
In the 1986 essay
No Silver Bullet, Brooks drew a distinction that has organized software engineering thinking for forty years. Accidental complexity is the overhead that comes from the tools we use: learning a
programming language, configuring a compiler, resolving dependency conflicts, navigating build systems. It is not intrinsic to the problem. It is a tax levied by the technology stack.
Essential complexity, by contrast, is inherent in the problem itself: understanding what users need, designing systems that will not break, making judgment calls when requirements are ambiguous. Brooks argued that every improvement in software productivity had addressed accidental complexity and that essential complexity set a floor beneath which no tool could reach. The AI transition has validated the distinction while partially refuting the pessimistic conclusion: accidental complexity has collapsed, essential complexity remains.
In The You On AI Field Guide
The distinction matters because it specifies what is possible and what is not. Tools