CI

Crafting Interpreters

Robert Nystrom · 2021

Working through the second half slowly. Writing a bytecode VM by hand demystifies a lot of things you otherwise take on faith.

LanguagesCompilers
reading★★★★★
TF

Thinking, Fast and Slow

Daniel Kahneman · 2011

Slow going but rewarding. Changed how I write postmortems — most of what looks like a bad decision was a decision made under a bad frame.

PsychologyDecisions
reading★★★★☆
AP

A Philosophy of Software Design

John Ousterhout · 2018

Short, opinionated, and the clearest argument I have read for deep modules over thin ones. Disagree with parts of it and you will still think better.

CraftArchitecture
finished★★★★★
DD

Designing Data-Intensive Applications

Martin Kleppmann · 2017

The reference I keep returning to. The chapter on consistency models finally made replication lag feel intuitive rather than terrifying.

SystemsDistributed
finished★★★★★
SU

Shape Up

Ryan Singer · 2019

Free online and worth more than most paid books on process. The appetite-over-estimate framing stuck with me.

ProcessProduct
finished★★★★☆
TD

The Design of Everyday Things

Don Norman · 1988

Affordances and signifiers, applied to doors and then to everything else. I think about this book every time an error message says only 'invalid input'.

Design
finished★★★★☆
TP

The Pragmatic Programmer

Andrew Hunt & David Thomas · 1999

Dated in its examples, durable in its advice. Worth rereading every few years to see which parts you have quietly stopped doing.

Craft
finished★★★★☆
SE

Staff Engineer

Will Larson · 2021

On the shelf. Picked it up after a conversation about what the next step looks like when it is no longer about writing more code.

CareerLeadership
queued