A Philosophy of Software Design versus Tidy First?.

Both show up on every "best" list. They're not competitors. They're a sequence. Here's which one to read first, and when.

Reviewed by Ashish Sheth · Updated June 2026
Option A
A Philosophy of Software Design
A Philosophy of Software Design
John Ousterhout · 2021
READ FULL REVIEW →
Option B
Tidy First?
Tidy First?
Kent Beck · 2023
READ FULL REVIEW →
Author
John Ousterhout
Kent Beck
Pages
196
122
Published
2021
2023
Publisher
Yaknyam Press
O'Reilly Media
Level
intermediate
intermediate
Amazon Rating
4.6/5 (1,320)
4.4/5 (420)
Goodreads Rating
4.19/5 (4,100)
3.92/5 (1,115)
A Philosophy of Software Design
Strengths
+ Short and punchy: most engineers finish it in a long weekend
+ Reframes everyday design decisions with sharper language
+ Quietly contradicts several popular Clean Code rules with stronger arguments
+ 2nd edition adds three new chapters and tightens the original prose
Caveats
Examples are small and educational — some readers want bigger real-world systems
Disagrees with Robert C. Martin's Clean Code, which can be jarring if you've internalized that book
Light on coverage of distributed systems or concurrent design
Tidy First?
Strengths
+ Tiny book, finishable in an afternoon
+ Every tidying maps directly to a habit you can use this week
+ Kent Beck's voice is unmistakable: opinionated, experienced, generous
+ Splits the design discussion from the daily tactics so each lands cleanly
Caveats
Several readers feel the theory section (Part III) is rushed and abstract
Examples are tiny and toy; some want bigger refactoring case studies
Costs about the same as much longer books, which annoys some readers
The verdict
A Philosophy of Software Design is the stronger pick overall, but Tidy First? may suit you better if you're a engineers practicing daily refactoring.
A Philosophy of Software Design
Check Price on Amazon →
Tidy First?
Check Price on Amazon →
Frequently asked
Which is better, A Philosophy of Software Design or Tidy First??
A Philosophy of Software Design is the stronger pick overall, but Tidy First? may suit you better if you're a engineers practicing daily refactoring.
Is A Philosophy of Software Design better than Clean Code?
They disagree on several specifics — Ousterhout argues for deeper modules and longer functions where Martin argues for shorter functions and tighter classes. Most engineers benefit from reading both, then trusting Ousterhout's framing on disagreements: it's the more rigorous of the two.
Is Tidy First a replacement for Fowler's Refactoring book?
No. Refactoring is the comprehensive catalog; Tidy First is the everyday discipline. Read Refactoring as a reference and Tidy First as the habits guide. They complement each other rather than overlap.