# A Philosophy of Software Design by John Ousterhout

28 Hacker News commenters recommended A Philosophy of Software Design by John Ousterhout and 1 criticized it, November 2025 to November 2026. It was recommended in 11 of 13 months. It meets the Hacker Approved badge rule.

**Verdict:** Short, practical book on software design that people say improves code and team habits. One critic says it reads more as a set of heuristics than a rulebook.

## Why people recommend it

- Short, readable book (4 comments): "tiny little book that uses simple example (class that makes a text editor) to talk about complexity" ([source](https://news.ycombinator.com/item?id=47847730)) "there is plenty of stuff in this short little book that was very satisfying to me" ([source](https://news.ycombinator.com/item?id=49204609)) "The Ousterhout book is very good and rather small" ([source](https://news.ycombinator.com/item?id=46545644))
- Improved code and team practice (4 comments): "This is an excellent book! We give a copy to everyone that joins our team." ([source](https://news.ycombinator.com/item?id=49899866)) "my own programming took a quantum leap forward when I purchased and read" ([source](https://news.ycombinator.com/item?id=48861761)) "one which I highly recommend and which markedly improved my code" ([source](https://news.ycombinator.com/item?id=46487854))
- Top recommendation for engineers (4 comments): "If you can only read one book about how to program in your life, I would say that it is this book" ([source](https://news.ycombinator.com/item?id=45951958)) "A philosophy of software design by John Ousterhout is the best software book I have read." ([source](https://news.ycombinator.com/item?id=46484785)) "Ousterhout's A Philosophy of Software Design if you're going engineering." ([source](https://news.ycombinator.com/item?id=47376653))
- Practical guidance on managing complexity (3 comments): "tiny little book that uses simple example (class that makes a text editor) to talk about complexity" ([source](https://news.ycombinator.com/item?id=47847730)) "one of its key points is to keep interfaces simple and push complexity downwards" ([source](https://news.ycombinator.com/item?id=48917022)) "This model of complexity from the book is very useful:" ([source](https://news.ycombinator.com/item?id=45953542))

## Alternatives hackers recommend

- [The Mythical Man-Month by Fred Brooks](https://hackerapproved.com/p/mythical-man-month.md): 56 recommend
- [Designing Data-Intensive Applications by Martin Kleppmann](https://hackerapproved.com/p/designing-data-intensive-applications.md): 37 recommend
- [Code Complete by Steve McConnell](https://hackerapproved.com/p/code-complete.md): 14 recommend
- [The Architecture of Open Source Applications by Amy Brown and Greg Wilson](https://hackerapproved.com/p/architecture-of-open-source-applications.md): 13 recommend
- [Design Patterns by Gamma, Helm, Johnson and Vlissides](https://hackerapproved.com/p/design-patterns.md): 12 recommend

## Where to get it

- [See price on Amazon](https://www.amazon.com/dp/173210221X?tag=hackerapprove-20) (affiliate link)
- [Bookshop.org](https://bookshop.org/a/130825/9781732102217) (affiliate link)

## Cite as

Hacker Approved, "A Philosophy of Software Design by John Ousterhout", https://hackerapproved.com/p/a-philosophy-of-software-design/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
