Digital Minimalism Choosing a Focused Life in a Noisy World

Structure and Interpretation of Computer Programs, second edition

Designing Data-intensive Applications The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Structure and Interpretation of Computer Programs

The Algorithm Design Manual: Text

Software Design for Flexibility How to Avoid Programming Yourself into a Corner