Curated Tech Reading Map

Find your next tech book to read

Book

A Philosophy of Software Design, 2nd Edition

John Ousterhout

Buy on Amazon* The link above is an advertisement via Amazon Associates.

Summary

Argues that complexity is the central problem in software design, and gives it a working definition: anything that makes a system hard to understand or change. From there Ousterhout builds a small set of principles, including deep modules with simple interfaces, information hiding, and pulling complexity downward into the implementation instead of pushing it onto callers. Short and opinionated enough that you can disagree with specific claims, which is rarer than it sounds among design books.

Target Readers

  • Engineers who can make code work and now want criteria for judging whether it is designed well
  • Tech leads who need vocabulary for explaining why an interface is worse than its implementation

Tags

#software-design#complexity-management#modular-design

Colophon

Publisher
Yaknyam Press
ISBN
978-1732102217
Published
Dec 2021

Get this book

* The link above is an advertisement via Amazon Associates.

Prerequisites

Next Books