Earn *And* Learn

How do you choose between building features and investing in code futures for long-term compounding?

Kent Beck distinguishes two fundamentally different games in software development: The Finish Line Game (optimize for a single outcome, then stop) and The Compounding Game (build systems that earn resources for the next iteration indefinitely). Most spec-driven and AI-assisted development assumes the former; sustained product growth requires the latter, demanding equal investment in futures—the architectural and design work that keeps complexity manageable—as in features.

Read full essay on Substack ↗

Questions this essay answers

  • Should I prioritize shipping features or investing in code structure when playing for long-term compounding?
  • Why does spec-driven development fail for systems that need to grow indefinitely?
  • How do AI agents struggle with managing futures versus features?
← All essays