Hacker ApprovedDepartments

A Philosophy of Software Design

A Philosophy of Software Design by John Ousterhout

by John Ousterhout

Hacker Approved

Ranked 3 of 21 software engineering books by recommenders

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.

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.

29 people gave an opinion

recommend it
28
criticize it
1
approval share
97%
Each figure is one person. RecommendsCriticizes

Recommended in 11 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: not recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Why it carries the badge

  • 28 people recommend itNeeds 10 or more, met.
  • 28 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 11 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Short, readable book

    “tiny little book that uses simple example (class that makes a text editor) to talk about complexity”

    Comment from 21 Apr 2026 in “Laws of Software Engineering”

    “there is plenty of stuff in this short little book that was very satisfying to me”

    Comment from 7 Aug 2026 in “Taste Is All That's Left”

    “The Ousterhout book is very good and rather small”

    Comment from 8 Jan 2026 in “Ask HN: Reading list for being a better engineer?”
  • Improved code and team practice

    “This is an excellent book! We give a copy to everyone that joins our team.”

    Comment from 29 Sep 2026 in “Ask HN: What are you reading?”

    “my own programming took a quantum leap forward when I purchased and read”

    Comment from 10 Jul 2026 in “Write code like a human will maintain it”

    “one which I highly recommend and which markedly improved my code”

    Comment from 4 Jan 2026 in “Maybe Comments _Should_ Explain 'What'”
  • Top recommendation for engineers

    “If you can only read one book about how to program in your life, I would say that it is this book”

    Comment from 17 Nov 2025 in “The Pragmatic Programmer: 20th Anniversary Edition (2023)”

    “A philosophy of software design by John Ousterhout is the best software book I have read.”

    Comment from 4 Jan 2026 in “Ask HN: Reading list for being a better engineer?”

    “Ousterhout's A Philosophy of Software Design if you're going engineering.”

    Comment from 14 Mar 2026 in “Ask HN: Looking for a job after layoff and burnout. What should I focus on”
  • Practical guidance on managing complexity

    “tiny little book that uses simple example (class that makes a text editor) to talk about complexity”

    Comment from 21 Apr 2026 in “Laws of Software Engineering”

    “one of its key points is to keep interfaces simple and push complexity downwards”

    Comment from 15 Jul 2026 in “How I use HTMX with Go”

    “This model of complexity from the book is very useful:”

    Comment from 17 Nov 2025 in “The Pragmatic Programmer: 20th Anniversary Edition (2023)”

Other software engineering books people recommend

The four most recommended other software engineering books, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

A Philosophy of Software Design by John Ousterhout compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
The Mythical Man-Monthby Fred Brooks56395%12—Approved
Designing Data-Intensive Applicationsby Martin Kleppmann37197%12—Approved
A Philosophy of Software Designby John OusterhoutThis page28197%11—Approved
Code Completeby Steve McConnell140100%7—Approved
The Architecture of Open Source Applicationsby Amy Brown and Greg Wilson130100%8—Approved
See all 21 software engineering books, ranked

What people said

32 of the 37 comments that mention it, newest first. Each links to the original comment.

“One of my favorites is "A Philosophy of Software Design" by John Ousterhout. Good general design practices.”

RecommendsComment from 20 Oct 2026 in “Ask HN: Time to read those programming books?”

“just yesterday started reading "A Philosophy of Software Design" - enjoying it so far.”

RecommendsComment from 30 Sep 2026 in “Ask HN: What are you reading?”

“glad I finally cracked it open”

RecommendsComment from 29 Sep 2026 in “Ask HN: What are you reading?”

“This is an excellent book! We give a copy to everyone that joins our team.”

RecommendsComment from 29 Sep 2026 in “Ask HN: What are you reading?”

“there is plenty of stuff in this short little book that was very satisfying to me”

RecommendsComment from 7 Aug 2026 in “Taste Is All That's Left”

“Books that come into my mind that might be useful to you”

RecommendsComment from 4 Aug 2026 in “Learning-Rust.Github.io: Rust Programming Language Tutorials for Everyone”

“one of its key points is to keep interfaces simple and push complexity downwards”

RecommendsComment from 15 Jul 2026 in “How I use HTMX with Go”

“my own programming took a quantum leap forward when I purchased and read”

RecommendsComment from 10 Jul 2026 in “Write code like a human will maintain it”

“Much faster and more efficient and better to just buy a copy”

RecommendsComment from 2 Jul 2026 in “Solid and Clean Code never felt solid or clean to me”

“The recommendations are often very good, for example Ousterhouts A Philosophy of Software Design”

RecommendsComment from 12 May 2026 in “Learning Software Architecture”

“which should really be called A Set of Heuristics for Software Design”

MixedComment from 21 Apr 2026 in “Laws of Software Engineering”

“tiny little book that uses simple example (class that makes a text editor) to talk about complexity”

RecommendsComment from 21 Apr 2026 in “Laws of Software Engineering”

“instead of cleaning your code, design it”

RecommendsComment from 9 Apr 2026 in “Clean code in the age of coding agents”

“Ousterhout's A Philosophy of Software Design if you're going engineering.”

RecommendsComment from 14 Mar 2026 in “Ask HN: Looking for a job after layoff and burnout. What should I focus on”

“I highly recommend reading it if you haven't, it's very good.”

RecommendsComment from 15 Feb 2026 in “The consequences of task switching in supervisory programming”

“captured the hard-won lessons in the book”

RecommendsComment from 3 Feb 2026 on Hacker News

“The Ousterhout book is very good and rather small”

RecommendsComment from 8 Jan 2026 in “Ask HN: Reading list for being a better engineer?”

“That purpose is raising the monitor 0.1mm.”

CriticizesComment from 4 Jan 2026 in “Maybe Comments _Should_ Explain 'What'”

“one which I highly recommend and which markedly improved my code”

RecommendsComment from 4 Jan 2026 in “Maybe Comments _Should_ Explain 'What'”

“A philosophy of software design by John Ousterhout is the best software book I have read.”

RecommendsComment from 4 Jan 2026 in “Ask HN: Reading list for being a better engineer?”

“John Ousterhout has been addressing this one class at a time at Stanford for a while now, and has scaled up to a book”

RecommendsComment from 29 Dec 2025 in “You can't design software you don't work on”

“I haven't even read your recommendation and know you are right.”

RecommendsComment from 21 Dec 2025 in “Show HN: Books mentioned on Hacker News in 2025”

“The world would be a better place if Philosophy of Software Design would replace all mentions of the second book.”

RecommendsComment from 21 Dec 2025 in “Show HN: Books mentioned on Hacker News in 2025”

“because it's more fundamental”

RecommendsComment from 11 Dec 2025 in “Patterns.dev”

“gave him every opportunity to think critically about his own suggestions”

RecommendsComment from 3 Dec 2025 in “Is this code clean? A critical look at Clean Code 2nd Edition”

“this text was transformative in my current project”

RecommendsComment from 28 Nov 2025 in “Tiger Style: Coding philosophy (2024)”

“is often recommended, and is very good”

RecommendsComment from 28 Nov 2025 in “Tiger Style: Coding philosophy (2024)”

“I've also read and love this book”

RecommendsComment from 18 Nov 2025 in “The Pragmatic Programmer: 20th Anniversary Edition (2023)”

“This model of complexity from the book is very useful:”

RecommendsComment from 17 Nov 2025 in “The Pragmatic Programmer: 20th Anniversary Edition (2023)”

“It's very good. And quite short!”

RecommendsComment from 17 Nov 2025 in “The Pragmatic Programmer: 20th Anniversary Edition (2023)”

“If you can only read one book about how to program in your life, I would say that it is this book”

RecommendsComment from 17 Nov 2025 in “The Pragmatic Programmer: 20th Anniversary Edition (2023)”

“which is about the wonderful book”

RecommendsComment from 7 Nov 2025 in “Is Software the UFOlogy of Engineering Disciplines?”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.