"One of my most productive days was throwing away 1000 lines of code"
About this Quote
Productivity, Ken Thompson implies, is often the opposite of accumulation. The line lands because it flips a programmer's most tempting metric - output - into a liability. A thousand lines sounds like achievement; Thompson treats it as clutter successfully removed. Coming from a creator of Unix and co-inventor of C, the provocation carries an insider's authority: he isn't romanticizing minimalism from the outside, he's describing the maintenance reality of systems that must live, not just launch.
The intent is partly corrective. Early-career engineering culture rewards visible labor: commits, features, cleverness. Thompson's sentence smuggles in a harder lesson: code is a liability you agree to support. Every line increases surface area for bugs, security flaws, performance regressions, and future misunderstanding. Deletion is not defeat; it's design. The "productive day" is the day you reduce future cognitive load for everyone who will touch the system, including your future self.
There's also a quiet ethics to it. Throwing away work requires humility and a willingness to admit that yesterday's solution was overfit, premature, or simply wrong. In the Unix tradition - small tools, sharp interfaces, composability - the best engineering move is often subtraction: simplify an API, remove duplication, replace special cases with a general rule.
The subtext reads like a warning against code-as-ego. If you want to build software that lasts, you have to be willing to kill your darlings, even when they compile.
The intent is partly corrective. Early-career engineering culture rewards visible labor: commits, features, cleverness. Thompson's sentence smuggles in a harder lesson: code is a liability you agree to support. Every line increases surface area for bugs, security flaws, performance regressions, and future misunderstanding. Deletion is not defeat; it's design. The "productive day" is the day you reduce future cognitive load for everyone who will touch the system, including your future self.
There's also a quiet ethics to it. Throwing away work requires humility and a willingness to admit that yesterday's solution was overfit, premature, or simply wrong. In the Unix tradition - small tools, sharp interfaces, composability - the best engineering move is often subtraction: simplify an API, remove duplication, replace special cases with a general rule.
The subtext reads like a warning against code-as-ego. If you want to build software that lasts, you have to be willing to kill your darlings, even when they compile.
Quote Details
| Topic | Coding & Programming |
|---|
More Quotes by Ken
Add to List



