Fred Brooks, 1986 — the hard part of software is the part you cannot automate away. No tool will deliver an order-of-magnitude improvement in a decade. None did.
Frederick P. Brooks Jr., at the University of North Carolina, drew the distinction between essential and accidental complexity in software. Accidental complexity, he argued, is what comes from the tools and processes — it has been steadily reduced by better languages, libraries, and environments. Essential complexity is what comes from the problem itself — the inherent intricacy of what the software must do. Brooks predicted that no single technology, in either tools or management, would deliver an order-of-magnitude improvement in productivity, reliability, or simplicity within a decade, because the remaining work is essential and essential complexity cannot be tooled away. The prediction has held for forty years. Brooks named the constraint that this book argues AI does not break: the hard part of software is what the software is for, and the next-token predictor does not know what it is for.