"The cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. The trick is to pick the features that don't fight each other"
About this Quote
Carmack is quietly torpedoing the most common lie in software: that features are additive, a pile of Lego bricks you can keep snapping together as long as the sprint board says you can. His real unit of cost isn’t developer hours; it’s friction. Every new toggle, exception, and special-case path becomes a tiny tax on the future, paid out in slower iteration, harder debugging, and the creeping need to explain the system to itself.
The subtext is a worldview forged in performance-critical domains where complexity doesn’t just annoy you, it ruins you. Game engines and low-level systems don’t tolerate “we’ll clean it up later” optimism because later arrives as frame drops, fragile pipelines, or architectural dead-ends. Carmack’s point lands because he reframes “feature” as “commitment”: you’re not shipping an isolated capability, you’re choosing constraints that shape every next decision.
“The trick” is doing a lot of work here. It admits the pressure is real: users ask, competitors ship, managers demand. But it insists judgment matters more than heroics. Picking features that “don’t fight each other” is an argument for coherence over accumulation, for designing a product where capabilities compose instead of collide. It’s also a warning about organizational entropy: when teams add features to satisfy local needs, the product becomes a battleground of competing assumptions. Carmack’s discipline isn’t minimalist aestheticism; it’s strategic defense against the future you’re otherwise building into a corner.
The subtext is a worldview forged in performance-critical domains where complexity doesn’t just annoy you, it ruins you. Game engines and low-level systems don’t tolerate “we’ll clean it up later” optimism because later arrives as frame drops, fragile pipelines, or architectural dead-ends. Carmack’s point lands because he reframes “feature” as “commitment”: you’re not shipping an isolated capability, you’re choosing constraints that shape every next decision.
“The trick” is doing a lot of work here. It admits the pressure is real: users ask, competitors ship, managers demand. But it insists judgment matters more than heroics. Picking features that “don’t fight each other” is an argument for coherence over accumulation, for designing a product where capabilities compose instead of collide. It’s also a warning about organizational entropy: when teams add features to satisfy local needs, the product becomes a battleground of competing assumptions. Carmack’s discipline isn’t minimalist aestheticism; it’s strategic defense against the future you’re otherwise building into a corner.
Quote Details
| Topic | Coding & Programming |
|---|---|
| Source | Help us find the source |
More Quotes by John
Add to List







