Let's talk about LLMs
Let's talk about LLMs
Author: James Bennett Date: April 9, 2026 Source: https://www.b-list.org/weblog/2026/apr/09/llms/ Site: b-list.org
Summary
James Bennett (Django core contributor) applies Fred Brooks' No Silver Bullet thesis to the LLM coding hype cycle. Argues that:
- Brooks' essential-vs-accidental distinction caps the upside of LLM coding mathematically. If accidental difficulty is less than 90% of total, eliminating it entirely cannot yield a 10x productivity gain. Bennett suspects accidental is now well under 50% in mature domains.
- Brooks' Mythical Man-Month estimate that 5/6 (83%) of software task time is non-coding holds up โ Bennett's own database-backed web-app career matches it.
- Empirical evidence from DORA 2025 and CircleCI 2026 shows LLM adoption increases delivery instability: change fail rates, rework rates, main-branch merge failure (70.8% success in CircleCI, lowest in 5 years), and recovery times all worsen.
- The METR study's finding is key: developers perceived a 20% LLM speedup after already being measurably slowed โ self-reported productivity is worthless as a metric.
- The Cloudflare Next.js rebuild is a recent public case: adversarial multi-agent LLM workflow, executed by a competent team on a well-documented framework, shipped broken. "AI is now very good at getting a system to the point where it looks complete."
- The "adopt now or be left behind" framing is rhetorically question-begging. If skepticism wins, late adoption is free. If a real silver bullet arrives, it would have to attack essential difficulty and thus invalidate today's LLM-prompting skillset, so current experience isn't protective.
- Democratization claims are incoherent: either LLM coding requires skill (not democratizing) or it doesn't (the skills gap argument collapses).
- Prescription: work on fundamentals โ version control, test suites, CI, small batches, iterative development. The DORA "AI capabilities model" is mostly the Joel Test rebranded.
Key quotes
The central question for technology leaders is no longer if they should adopt AI, but how to realize its value. [โฆ] AI's primary role in software development is that of an amplifier. It magnifies the strengths of high-performing organizations and the dysfunctions of struggling ones. โ DORA 2025
Success rates on the main branch fell to their lowest level in over 5 years, to 70.8%. โ CircleCI 2026
Developers expected AI to speed them up by 24%, and even after experiencing the slowdown, they still believed AI had sped them up by 20%. โ METR 2025
AI is now very good at getting a system to the point where it looks complete. โ Cloudflare disclosure post on the Next.js rebuild
When all is said and told, the "naturalness" with which we use our native tongues boils down to the ease with which we can use them for making statements the nonsense of which is not obvious. โ Dijkstra, on natural-language programming
Brooks: The first step toward the management of disease was replacement of demon theories and humours theories by the germ theory. That very step, the beginning of hope, in itself dashed all hopes of magical solutions. It told workers that progress would be made stepwise, at great effort, and that a persistent, unremitting care would have to be paid to a discipline of cleanliness. So it is with software engineering today.
The Brooks argument in Bennett's summary
Brooks divided software difficulty into essence (the conceptual construct โ data relationships, algorithms, function invocations, design, testing) and accidents (the representation labor โ syntax, memory management, deployment mechanics). Essential difficulty is inherent to the problem; accidental difficulty is incidental to the tools.
Brooks' prediction: no single development can produce an order-of-magnitude productivity gain within a decade. The math: if accidental difficulty โค 90% of total, even eliminating it completely can't produce 10x. Bennett extends this โ he thinks accidental is already much less than 90%, possibly under 50% in mature domains, so the ceiling is even lower.
LLMs primarily attack accidental difficulty. They generate syntactically correct code faster. They do not specify, design, or test the conceptual construct on their own.