As an Amazon Associate, I earn from qualifying purchases. Full disclosure

Five books I still quote at work

As an Amazon Associate, I earn from qualifying purchases. Same price for you. I only link books I have actually read and still use. Amazon links on this page use tag mzulfaas-20.

This is the shorter one: five titles I still quote in standups, design reviews, or a 1:1, plus the lesson I actually keep. The Amazon links below are the five I mean.

Watch: the authors on the 20th anniversary edition

Dave Thomas and Andy Hunt, GOTO Book Club 2020. Official conference interview, not a product demo I filmed.

1. The Pragmatic Programmer (20th Anniversary) — Hunt & Thomas

The Pragmatic Programmer 20th Anniversary edition cover

Buy on Amazon

The book that taught me software is a craft, not a chore. The "broken window" idea alone paid for it: I stopped letting small messes fester, and the codebase got easier to live in.

I still open it when a sprint starts to feel sloppy. Not for a framework. For the reminder that the first unfixed shortcut becomes the culture.

Best for: any engineer who wants fundamentals that survive the next language.

2. Designing Data-Intensive Applications — Kleppmann (2nd edition, 2026)

Designing Data-Intensive Applications 2nd edition cover

Buy on Amazon

Highest-leverage tech book I have read as a backend engineer. It is dense. You will not finish it in a weekend. Understanding the trade-offs (consistency, replication, what your database is actually doing) changed how I design for scale.

I learned this from Kleppmann's first edition. If you are buying now, get the 2026 second edition. Same spine, updated for the systems we actually run.

Best for: backend and data engineers who keep arguing about databases from vibes.

3. A Philosophy of Software Design — John Ousterhout (2nd edition)

A Philosophy of Software Design 2nd edition cover

Buy on Amazon

Short, sharp, and aimed at the skill most of us skip: designing interfaces that make complexity manageable. "Deep modules" and "define errors out of existence" are ideas I use on every refactor.

It is opinionated. You will disagree with parts. That is the point. It is the book I hand someone who writes a lot of code and still ships shallow APIs.

Best for: engineers who want fewer files, not more of them.

4. Working Effectively with Legacy Code — Michael Feathers

Working Effectively with Legacy Code cover

Buy on Amazon

The book that made me stop fearing code I did not write. Characterization tests are a superpower for refactoring scary systems. The "seams" idea is the rest of the job.

Most of my week is not greenfield. If yours is 80% modifying someone else's ten-year-old system, this is the one.

Best for: anyone whose "new feature" starts in a file last touched in 2019.

5. Release It! — Michael Nygard

Release It! 2nd edition cover

Buy on Amazon

About everything that breaks in production after a quiet weekend. Stability patterns (circuit breakers, bulkheads, timeouts) are why my services survive bad days.

Read this after the design books, not before. It is the one that makes "it works on my machine" feel like a joke you are tired of telling.

Best for: engineers whose code is already in production and who own the pager.

If you only buy one

Start with The Pragmatic Programmer if you are still building the habit of craft. Start with DDIA if you already ship backends and keep getting surprised by data. Start with Legacy Code if the repo is older than your tenure.

I am not going to pretend I reread all five every quarter. I reopen the one that matches the mess in front of me.

The rest of the shelf

The other titles stay on my shelf. These five are the ones I still quote at work, and the ones I link here.

I read 20–30 books a year. I only keep the ones I still reference. Amazon links use my Associates tag (mzulfaas-20). You pay the same price.

0 Comments

No comments:

Post a Comment