A Philosophy of Software Design by John Ousterhout

A Philosophy of Software Design by John Ousterhout

A Philosophy of Software Design - the must-read for software engineers.

I would say that this is the best book I have read so far on the «building good software» topic.

Pretty often, authors forget that every technic, pattern, or trick they describe as good can be taken too far. But John Ousterhout does not fall into this trap and writes “taking it too far” chapters. Literally.

In general, every piece of advice he gives resonates with my experience. I am not sure if I would fully appreciate these advices early in my career. But still will recommend this book for everyone who wants to write good software.

And, it is short. You will not loose much time reading it. So if you into building software read it :)

Original Title: A Philosophy of Software Design

ISBN: 1732102201 (ISBN13: 9781732102200)

GoodReads: 4.17 / 5

Designing Data-Intensive Applications by Martin Kleppmann

Designing Data-Intensive Applications by Martin Kleppmann

The one book to read to understand software development.

Systems desigh interview by Alex Xu

Systems desigh interview by Alex Xu

The high-level design of different systems, from URL shorteners to YouTube.

Crafting Interpreters by Robert Nystrom

Crafting Interpreters by Robert Nystrom

I wish all technical books were this good.