logicentity.com
Reading List

Books

Books that shaped how I think about engineering, systems, and craft.

A Philosophy of Software DesignJohn Ousterhout
2018
Software DesignArchitectureCraft

A Philosophy of Software Design

by John Ousterhout · 2018

The best book on software complexity I have read. Ousterhout argues that the primary goal of software design is to reduce complexity — and that most engineering decisions should be evaluated through that lens. The concept of deep vs. shallow modules alone is worth the read.

The Pragmatic ProgrammerHunt & Thomas
1999
EngineeringCraftCareer

The Pragmatic Programmer

by Hunt & Thomas · 1999

A timeless collection of principles that have aged remarkably well. The tracer bullet concept, DRY, orthogonality, and the broken windows theory of code quality — these ideas underpin how I approach every project. Required reading for engineers at any stage.

Designing Data-Intensive ApplicationsMartin Kleppmann
2017
Distributed SystemsDatabasesArchitecture

Designing Data-Intensive Applications

by Martin Kleppmann · 2017

The definitive text on the systems that power modern software. Kleppmann covers databases, distributed systems, stream processing, and the fundamental trade-offs between consistency, availability, and partition tolerance with exceptional clarity. I return to this book regularly.