Bryan Cantrill has a message for anyone measuring AI coding productivity by lines shipped: you're doing it wrong. In a new essay, the Oxide CTO argues that LLMs lack what Larry Wall called the programmer's greatest virtue, laziness. The real kind, where you build clean abstractions because you can't stand wasting your own future time. The piece takes direct aim at Y Combinator president Garry Tan, who boasted about generating 37,000 lines of code per day with LLMs. For context, all of DTrace is roughly 60,000 lines.
Polish engineer Gregorein tore apart Tan's project. A single load contained multiple test harnesses, a Hello World Rails app, a stray text editor, and eight logo variants. One logo had zero bytes. This is what happens when the machine never asks whether code should exist.
Cantrill's point goes beyond bad code. He's saying the constraint of finite human time is what forces good engineering. When you'll have to maintain what you write, you think harder about writing it. LLMs operate without that constraint, which makes them dangerous when wielded by people who mistake volume for progress. The "brogrammer" mentality of crushing code becomes self-reinforcing when nothing pushes back.
Think about what good laziness actually looks like. It's writing a function once instead of copying the same logic ten times. It's building an interface that hides messy internals so the next person doesn't have to think about them. Sometimes it's choosing not to write code at all because the problem doesn't require it. That's the discipline LLMs can't practice because they never pay the maintenance tax.
At Oxide, Cantrill has banned AI-generated code from core infrastructure including their Helios operating system. The company's published guidelines treat LLMs as tools for tackling technical debt and reinforcing engineering rigor, always in service of human goals. The takeaway: LLMs help build better systems only when you're the one deciding what "better" means.