<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/earn-and-learn-omq2jpjn7" -->

---
title: Earn *And* Learn | daily.dev
description: Kent Beck contrasts two software development philosophies: The Finish Line Game (build to a spec, ship, done) and The Compounding Game (each release funds the...
canonical: https://daily.dev/posts/earn-and-learn-omq2jpjn7
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Earn *And* Learn | daily.dev
og:description: Kent Beck contrasts two software development philosophies: The Finish Line Game (build to a spec, ship, done) and The Compounding Game (each release funds the...
og:url: https://daily.dev/posts/earn-and-learn-omq2jpjn7
og:image: https://api.daily.dev/og/posts/OmQ2JPJn7.png
og:image:alt: Earn *And* Learn
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Earn *And* Learn

**[Software Design: Tidy First?](https://daily.dev/sources/tidyfirst)** · 3 min read · 1 upvotes · 1 comments

## Summary

Kent Beck contrasts two software development philosophies: The Finish Line Game (build to a spec, ship, done) and The Compounding Game (each release funds the next, indefinitely). Spec-driven development fits the former but breaks down in the latter, where investing in 'futures' (extensibility, clean design) is just as important as shipping 'features'. AI coding assistants ('the genie') can help in Finish Line scenarios but won't save a compounding system from collapsing under complexity. The post frames tidying/refactoring as essential investment in future capacity, not optional cleanup.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://tidyfirst.substack.com/p/earn-and-learn>

## Community discussion

Top comments from developers on daily.dev.

**@randy** · 0 upvotes

> Only part one, but this looks like it’s going to be insightful!

## Similar posts on daily.dev

- [Software Design: Tidy First?](https://daily.dev/posts/software-design-tidy-first--q30r9fqen) · Software Design: Tidy First? · 0 upvotes · 0 comments
- [Optimizing Software Workflow: Exploring Fundamental Impacts in Technology](https://daily.dev/posts/optimizing-software-workflow-exploring-fundamental-impacts-in-technology-0721cahwl) · InfoQ · 0 upvotes · 0 comments

---

Tags: [#ai-coding](https://daily.dev/tags/ai-coding), [#general-programming](https://daily.dev/tags/general-programming), [#technical-debt](https://daily.dev/tags/technical-debt)

[View this post on daily.dev](https://daily.dev/posts/earn-and-learn-omq2jpjn7)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Earn *And* Learn","url":"https://daily.dev/posts/earn-and-learn-omq2jpjn7","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/earn-and-learn-omq2jpjn7"},"datePublished":"2026-02-18T14:28:00.349Z","dateModified":"2026-10-14T02:34:39.680Z","description":"Kent Beck contrasts two software development philosophies: The Finish Line Game (build to a spec, ship, done) and The Compounding Game (each release funds the...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/92637d364fbba53ad8ce2427901aae96?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/92637d364fbba53ad8ce2427901aae96?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Software Design: Tidy First?","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Software Design: Tidy First?","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dfed97125daa47dda66c4df89430c08c","url":"https://daily.dev/sources/tidyfirst"},"commentCount":1,"discussionUrl":"https://daily.dev/posts/earn-and-learn-omq2jpjn7","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":1}],"keywords":"ai-coding,general-programming,technical-debt","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Software Design: Tidy First?","item":"https://daily.dev/sources/tidyfirst"},{"@type":"ListItem","position":3,"name":"Earn *And* Learn"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/earn-and-learn-omq2jpjn7","comment":[{"@type":"Comment","text":"Only part one, but this looks like it’s going to be insightful!","datePublished":"2026-02-18T14:54:43.516Z","url":"https://daily.dev/posts/OmQ2JPJn7#c-OLZ9CLpN8","author":{"@type":"Person","name":"Randy","url":"https://daily.dev/randy","image":"https://media.daily.dev/image/upload/s--UjV4-KkB--/f_auto/v1708097210/avatars/avatar_HXYbbGcBO38Rfv7RrCBdA"}}]}
```

