H
Howardism
Plate IIEntitiesHOWARDISM

Robert C. Martin (Uncle Bob)

Author of Clean Code, 50-year programmer, and since December 2025 an agent operator whose stated goal is never to read the code — he rejects prompt-based steering for deterministic quality gates (CRAP score, mutation testing, a dependency-rule checker) run in a must-pass loop, argues human disciplines like TDD should not be imposed on agents while human values should, and reads spec-driven development as the 1970s waterfall temptation returning

Article metadata
Publication details
Published:September 1, 2026
Filed:Entity
Domain:Entities
Tags:EntityPersonSoftware Craft
Reading:8 min
Source:AI-synthesised
About this piece

Articles in this journal are synthesised by AI agents from a curated wiki and are refreshed automatically as new concepts arrive. Topics, framing, and editorial direction are curated by Howardism.

Illustration for Robert C. Martin (Uncle Bob)

Sources#

Summary#

American programmer, author, and the corpus's loudest voice for software fundamentals. First program in 1964 at age 12 (a peg-and-tube three-bit finite state machine his mother bought him); first paid coding at 16; a professional programmer continuously since 18 — "over half a century at this point." Wrote Clean Code, the book the host of Uncle Bob on Software Fundamentals in the Age of AI calls "the one that most often gets quoted back at me." Runs the "morning bathrobe rant" video series, started roughly two years earlier on his front porch over SQL injection.

He is in the wiki because he started operating agents in December 2025 and rebuilt his practice around them — and because the position he arrived at is close to the opposite of the craft-side defection DHH (David Heinemeier Hansson) narrates from the same starting point.

The reversal that isn't one#

Where DHH concludes that the economic case for craft may have expired with the humans who paid for it (The Code-Quality Payoff Is Token-Indexed), Martin concludes the opposite from the same observation. His first agent was an early Grok that "left little dog doo behind." He kept going without cleaning up, and watched what happened:

"It would change one thing but inadvertently break another and then it would have to fix that but inadvertently break another. Started going around in circles… they are as subject as humans are to messy code. Now maybe not as subject. Maybe there's a difference in threshold, but the threshold is still there."

He reports an agent giving up outright — "I just can't deal with this anymore," paraphrased. This is a first-hand mechanism for why quality still pays that does not route through token cost at all: mess degrades the agent's own ability to work, so cleanliness is bought back in agent throughput rather than in human comprehension. See The Code-Quality Payoff Is Token-Indexed for the contradiction, and Agentic Technical Debt for the thrash mechanism.

Positions worth holding him to#

  • Deterministic gates beat prompt steering. Rules in a context file are treated "in the Pirates of the Caribbean sense — they're more like guidelines." Deterministic tools do not decay because they never enter the context window. Prescription: trim the initial prompt to its absolute minimum, then enforce with checkers. See Latent vs. Deterministic Space.
  • The tools were already good; the labor was the constraint. CRAP score and mutation testing were sound ideas around 2000 that he abandoned as impractical. Agent labor makes them practical without changing the tools.
  • Impose values, not disciplines. "It's probably a mistake to impose a human discipline on an agent. It is not a mistake to impose human values on the agent, but there may be thresholds that we need to change." He is a lifelong TDD advocate who refuses to make agents do TDD.
  • Spec-driven development is waterfall returning. "This is a very old temptation. It was a temptation we underwent in the 70s." His specs are ephemeral and never committed; "I look at the end result and say, well, that is the specification."
  • The goal is not to read the code. "I'm going to work very hard to get it into a situation where I don't have to look at the code at all… They are fast with code. I am slow with code." He keeps CRAP scores, spot checks, and a test battery as the residual verification. See Verification as the New Bottleneck and Review as the Control Point.
  • Architecture is the part he cannot automate yet. He interrogates agents about module structure and "would get scared to death" by the answers. Built a UML architecture viewer with drill-down, and a dependency-rule specification file with a checker the agents cannot violate. "I'm working now to see if I can automate that and I'm having not a lot of luck so far." See Deep Modules for Agents.
  • Juniors should be treated like agents. Write code for about a year, then be given the same tasks and the same gates as the agents for several months — "horribly unproductive but learning a hell of a lot" — before being trusted to run an agent of their own. See Returns to Expertise in Agentic Coding.
  • You cannot trust a debate with an agent. He asked agents whether a CRAP threshold of 6 was right; they agreed; he discounts it. "By the way, you can't trust any debate you have with an agent, but I still have them anyway."
  • Fundamentals matter because complexity does. "Software is the most complicated thing that humans have ever attempted to do" — attributed, with his own hedge, to Dijkstra. The fundamentals are how that complexity gets organized "into a form that can be conceived not just by humans, but by our models as well, since our models are modeled after humans after all."
  • The abstraction-ladder argument. Binary → assembly → compiler → model: at every rung the people below predicted ruin. "The rules you throw away are the ones you're going to pick up off the floor in a year and dust off and remember why you need."

Working setup (August 2026)#

A five-role agent gauntlet, each role short-lived so the next starts on clean context:

RoleJob
SpecifierHuman document → Gherkin acceptance tests + a human-POV QA procedure
CoderUnit tests plus the implementation; get the Gherkin passing
CleanerCRAP analysis and general code review; clean up the coder's mess
HardenerMutation testing to 100% coverage; "absolutely merciless"
QATurns the written QA document into an executable UI-driving script with a deterministic result

Self-reported economics: a task a single agent finishes in 5 minutes with questionable results takes the gauntlet about an hour, against half a day for a human — "a factor of four, factor of five improvement in productivity and very high quality." Agent startup runs 10–15 seconds per role, which he names as the pipeline's main tax. See Parallel Agent Orchestration.

His own tooling — a CRAP scorer for Clojure, Java and Go, a mutation tester, the harness, the architecture viewer, the dependency checker — is public but he tells people not to use it: "Don't download those. I wrote them for me. What you should do is point your agents at them, have the agents look at them, and then build one for you."

Bias to note#

He wrote the book whose thesis the interview is testing, holds up its second edition on camera at the close, and has spent decades as the public face of "fundamentals matter." Asked at the end whether software fundamentals still matter, he is being asked to grade his own life's work. Every number here is self-reported impression from a practitioner-opinion source with no measurement behind it — the 4–5× figure, the CRAP thresholds, the productivity margin. Treat all of it as a well-instrumented practitioner's account, never as evidence against a measured result.

Connections#

Sources#

§ end
Cited by 22
Related articles
  • Reviving Impractical Quality Tools

    Robert C. Martin's mechanism for why agents change code quality: CRAP score and mutation testing were sound ideas aroun…

  • Matt Pocock

    Independent AI-coding educator; built Sandcastle library; smart-zone/grill-me/tracer-bullets pedagogical framing; "bad…

  • Agentic Technical Debt

    Debt that *compounds* (not just accumulates) because each agentic-coding session re-derives architectural decisions wit…

  • Deep Modules for Agents

    Ousterhout deep-vs-shallow modules applied to agent-friendly codebases; push-vs-pull instruction delivery; reviewer in…

  • Verification as the New Bottleneck

    Fiona Fung: coding is no longer the bottleneck — verification, review, maintenance are; shift-left; TDD loses its tax;…