Books · Vol. XI · 2026 A reading list, annotated 42 books · 8 shelves

Volume XI — opening pages

Books, on shelves.

A short list of books that hold up under re-reading. Each entry has the same structure: what it does well, who should read it, and where it fits next to the others. The shelves are by topic; inside, by depth.

I

Distributed systems & databases.

The shelves engineers reach for at 3am.

Designing Data-Intensive Applications

Read more →
What it does

The single book to read if you build software that handles data. Storage engines, replication, partitioning, transactions, consistency, distributed processing — all explained with the same patient clarity.

Who should read

Senior engineers and tech leads. The book "everyone has a copy of" in any infra team.

Sample

Chapter 7 (Transactions) is what made snapshot isolation click for thousands of engineers.

Database Internals

Read more →
What it does

Half on storage engines (B-trees vs LSM), half on distributed systems (replication, consensus, anti-entropy). Denser than DDIA but with more depth on storage internals.

Who should read

Read after DDIA when you want to know how the engines actually fit on disk.

Database Design and Implementation

Read more →
What it does

Build a working relational database in Java, chapter by chapter. Buffer pool, log manager, transaction manager, query optimiser — all from scratch.

Who should read

Anyone who learns by implementing. The "build your own database" of textbooks.

II

Systems programming & OS.

How the machine actually works.

Operating Systems: Three Easy Pieces

Read more →
What it does

The OS textbook that became famous for being free, well-written, and full of working code. Virtualization (CPU, memory), concurrency (threads, locks, condition variables), persistence (filesystems, RAID, distributed FS).

Who should read

Self-taught engineers filling gaps. CS undergrads everywhere have replaced their assigned textbook with this.

Sample

The "easy pieces" framing puts the conceptual core first; everything else hangs off it.

Computer Systems: A Programmer's Perspective

Read more →
What it does

Where assembly meets C meets the OS. Memory hierarchy, linking, exception control flow, virtual memory, system-level I/O, network programming. CMU's 15-213 textbook.

Who should read

Anyone who needs to understand what their compiler is actually generating.

The Linux Programming Interface

Read more →
What it does

Every Linux syscall, with examples. fork, exec, signals, threads, IPC, sockets, ptrace, namespaces. The reference.

Who should read

Anyone writing daemons, runtimes, or anything that takes Linux seriously. By the maintainer of man-pages.

Code: The Hidden Language of Computer Hardware and Software

Read more →
What it does

The path from "two flashlights and a code book" to a working CPU. Telegraph relays → logic gates → memory → ALU → bus → operating system. No prerequisites.

Who should read

Read it once. Anyone curious about how computers work.

III

Security & cryptography.

What's provably hard, what's operationally hard.

Cryptography Engineering

Read more →
What it does

How to design real-world cryptographic protocols. Not a math book — a how-to-not-shoot-yourself book. Block ciphers, hash functions, key exchange, RNGs, key management.

Who should read

Anyone designing a system that uses crypto. Read this before reading anything academic.

Real-World Cryptography

Read more →
What it does

A modern, practical update. TLS 1.3, Signal protocol, post-quantum crypto, hardware security modules. Reads like a senior engineer's notes.

Who should read

Engineers shipping crypto in 2025+ who need the modern choices, not the 1990s ones.

Serious Cryptography

Read more →
What it does

Tighter than Cryptography Engineering, with more attack content. Padding oracles, side channels, post-quantum algorithms.

Who should read

After RWC, when you want to understand attacks and modern primitives in more depth.

Bulletproof TLS Guide

Read more →
What it does

The reference for operating TLS in production. Configuration matrices, weakness catalogs, year-by-year deprecation calendar. Updated yearly.

Who should read

Anyone who maintains a TLS-terminating service.

IV

SRE, observability & ops.

When your service is the system.

Site Reliability Engineering

Read more →
What it does

The Google SRE book. Error budgets, blameless postmortems, toil, monitoring, incident response, capacity planning. Free online.

Who should read

Anyone who runs services for users. The vocabulary of modern reliability work.

The SRE Workbook

Read more →
What it does

The companion workbook — applied SRE practices, alert design, on-call workflows, SLO templates. More tactical than the first book.

Who should read

Read after the SRE book when you're actually setting up the practices.

Observability Engineering

Read more →
What it does

The argument for high-cardinality, structured events over the metrics-logs-traces trilogy. By the founders of Honeycomb.

Who should read

Engineers replacing metric dashboards with actual debuggability.

Database Reliability Engineering

Read more →
What it does

SRE practices applied to data systems. Backups, restores, replication health, schema migrations, on-call for stateful services.

Who should read

DBAs becoming SREs, or SREs inheriting databases. The hardest reliability work.

V

Algorithms & data structures.

The shapes that hold computer science up.

Introduction to Algorithms

Read more →
What it does

The graduate textbook. Rigorous proofs, exhaustive coverage, every classic algorithm. Skim the chapter you need; don't read cover-to-cover.

Who should read

Reference, not bedtime reading. Every CS grad student's bookshelf.

Algorithms

Read more →
What it does

Princeton's undergrad textbook. Clearer prose than CLRS, real Java code, real performance analysis. The companion Coursera course is excellent.

Who should read

First algorithms book. Or the one to revisit when CLRS feels too dense.

The Algorithm Design Manual

Read more →
What it does

Half textbook, half catalog. The catalog half is the magic — given a problem, find the closest classic algorithm and where its implementations live.

Who should read

Working engineers who need to "find the right algorithm" rather than re-derive one from first principles.

Programming Pearls

Read more →
What it does

Short essays on real engineering problems and elegant solutions. Bit vectors, sorting, searching, code tuning — every chapter is a little gem.

Who should read

Read between projects. Each chapter takes an hour and changes how you think.

VI

Software practice & craft.

Writing code that lives.

The Pragmatic Programmer

Read more →
What it does

Tactical advice that aged well. DRY, orthogonality, tracer bullets, broken-windows theory, plain text, version control as muscle memory.

Who should read

Read at 2 years of experience, again at 5, again at 10. Each pass surfaces different chapters.

A Philosophy of Software Design

Read more →
What it does

Complexity is the enemy. Deep modules, shallow interfaces. The single-most-different stance from the conventional "small functions" wisdom — and the right one.

Who should read

Senior engineers reaching for a vocabulary for "this is too complicated".

The Mythical Man-Month

Read more →
What it does

The IBM OS/360 retrospective. "Adding manpower to a late software project makes it later." Half a century later, every line still applies.

Who should read

Anyone managing software work, ever. Required reading.

Code Complete

Read more →
What it does

The encyclopedia of construction. Variable naming, control flow, defensive programming, code-tuning, debugging, refactoring. Everything has a research citation.

Who should read

Self-taught engineers who want to backfill the "how to write code" basics from primary sources.

VII

System design & architecture.

Decisions before code.

System Design Interview, Vol. 1 & 2

Read more →
What it does

A worked-example walkthrough of the canonical interview problems. Designed for prep but useful as a vocabulary primer for system patterns.

Who should read

Engineers prepping for senior interviews. Or anyone who wants the "what would you reach for" answers laid out cleanly.

Building Microservices

Read more →
What it does

When to extract services, how to keep them autonomous, what breaks at the seams. The 2nd edition is heavier on what to NOT do than the first.

Who should read

Engineers staring at a monolith deciding if it's time. Or post-extraction, debugging the mess.

Software Architecture: The Hard Parts

Read more →
What it does

How to make cross-cutting trade-offs explicit. Decomposition, distributed transactions, data integration patterns. Useful even when you disagree with the conclusions.

Who should read

Architects making decisions where every option breaks something.

VIII

Classics & longform.

Books that changed the field.

The Art of Computer Programming, Vol. 1–4

Read more →
What it does

The encyclopedia of algorithms. Volume 1 (fundamental algorithms), 2 (seminumerical), 3 (sorting and searching), 4 (combinatorial). Volume 5 still in progress.

Who should read

Reference, like CLRS but deeper and with more history. The MIX assembly notation puts most readers off; that's fine — read for the prose and the math.

Hacker's Delight

Read more →
What it does

Bit-twiddling tricks. Population count, leading zeros, integer division by constants, hash multipliers. Most of CRC, hash, and compression code descends from here.

Who should read

Anyone writing performance-critical inner loops. Especially compiler authors.

The C Programming Language

Read more →
What it does

The shortest, clearest programming book ever written. Every example is the smallest one that proves the point.

Who should read

Read once for the prose alone. The programming style influences every K&R-derived language: Go, Rust, Zig.

Structure and Interpretation of Computer Programs

Read more →
What it does

The MIT introductory CS book — but really an essay on what computation is. Closures, streams, metalinguistic abstraction, building an interpreter. In Scheme.

Who should read

Mid-career engineers who never did formal CS. The book changes how you think.

Algorithm Design

Read more →
What it does

Cleaner pedagogy than CLRS for graph algorithms, network flows, and randomised algorithms. Each chapter ends with hard, well-curated problems.

Who should read

Read after CLRS once you want depth in graph and approximation algorithms specifically.

Programming Pearls

Read more →
What it does

Short essays drawn from Bentley's CACM column. Each picks a small problem and works through real engineering thought — measurement, data structure choice, careful coding.

Who should read

A book to read with a pen. Every chapter is a self-contained masterclass in problem decomposition.

IV

Distributed systems.

The systems books that name the patterns.

Designing Data-Intensive Applications

Read more →
What it does

The single most useful contemporary systems book. Replication, partitioning, consensus, stream processing, batch processing — each chapter is a survey with the right level of math and the right amount of opinion.

Who should read

Read once a year. Required reading for any back-end engineer working above one machine.

Database Internals

Read more →
What it does

Pairs neatly with DDIA. Storage engines, B-trees, LSM trees, page layouts, distributed transaction protocols — all at implementation depth.

Who should read

Anyone choosing or writing a database, or trying to understand why their existing one behaves the way it does.

Building Microservices

Read more →
What it does

Service decomposition, deployment, integration patterns, security, reliability. Newman is honest about the trade-offs — second edition is significantly more sceptical than the first.

Who should read

Anyone building service-oriented systems, especially anyone migrating from a monolith.

Site Reliability Engineering

Read more →
What it does

Free online from Google. Covers SLOs, error budgets, incident management, post-mortems, capacity planning. The operational chapters of running production at scale.

Who should read

Anyone who runs systems other people use. Chapters 3, 22, and 24 (cascading failures, addressing overload) are essential alone.

Release It!

Read more →
What it does

The original "stability patterns" book — circuit breaker, bulkhead, timeout, fail-fast. Each pattern grounded in a real outage Nygard witnessed.

Who should read

Read before you write your next service. The chapter on production-readiness is a checklist worth making mandatory.

V

The craft.

How working engineers improve, year over year.

The Pragmatic Programmer

Read more →
What it does

Career-defining advice on testing, automation, debugging, communicating, and learning. The 20th-anniversary edition rewrites and re-examines every original tip.

Who should read

Engineers at any level. The early chapters re-shape how you think about the job; the later ones ship discipline.

Code Complete

Read more →
What it does

A massively detailed guide to writing programs that other people (and future you) can read. Variable naming, function design, defensive programming, debugging, refactoring.

Who should read

Anyone responsible for code that lives more than a quarter. The book is large but every chapter is independent.

Refactoring

Read more →
What it does

A catalogue of small, safe, named transformations of code. The 2nd edition uses JavaScript; the patterns are language-agnostic.

Who should read

When you're stuck looking at 500 lines you wrote six months ago and don't know how to start fixing.

The Mythical Man-Month

Read more →
What it does

The collected lessons of the OS/360 project. "Adding manpower to a late software project makes it later." "Plan to throw one away." Half a century old; every essay still indicts modern projects.

Who should read

Anyone who has ever managed a software project — or been managed on one.

Peopleware

Read more →
What it does

Why the people problems on engineering teams are usually the engineering problems. Office layout, interruptions, hiring, team formation. Backed by surveys, not just stories.

Who should read

Anyone managing engineers — and anyone wondering why their last project failed.

Adjacent

After the book, the paper.

Where a book gives you the model, the paper gives you the proof. The Papers volume catalogs the foundational ones by topic.

Found this useful?