Book · 2017
Designing Data-Intensive Applications
by Martin Kleppmann
A backend engineer's field guide to the tradeoffs behind every database, queue, and distributed system you will ever touch.
What does Reddit think of Designing Data-Intensive Applications?
Another commenter at ↑236 credited it with giving them a shared language for architecture conversations with senior engineers — concrete enough to reach for when production problems appear. It shows up on reading lists alongside Clean Code without getting the same reverence. Martin Kleppmann's royalty disclosure — 477k in the first 3.5 years — circulated at ↑265 in r/ExperiencedDevs and generated more thread activity than some chapters did. The gap between subs is real: engineers who have already hit scaling walls call it essential; people still learning what a database is find it premature.
Evidence, not a rating
Recommendation receipt
A compact, source-linked answer derived from the same Reddit sample and editorial synthesis as this page.
Editorial summary
Another commenter at ↑236 credited it with giving them a shared language for architecture conversations with senior engineers — concrete enough to reach for when production problems appear. It shows up on reading lists alongside Clean Code without getting the same reverence. 5 years — circulated at ↑265 in r/ExperiencedDevs and generated more thread activity than some chapters did.
Read if
You're a backend engineer who keeps running into conversations about consistency, replication lag, or Kafka partitions and feels one step behind. This fills that gap. If you haven't shipped something that broke under load yet, you'll finish it and retain about 30 percent — come back after your first incident.
Skip or borrow first if
r/devops and r/programming are both flat neutral, suggesting infrastructure engineers find it too theoretical for day-to-day ops work.
Strongest published evidence
“We should really just put together a community reading/listening list... Reading: * Clean Code / Clean Architecture / […”r/cscareerquestions source · score 498 ↗
Dissent & strongest caveat
r/devops and r/programming are both flat neutral, suggesting infrastructure engineers find it too theoretical for day-to-day ops work.
Community feedback & reader fit
Themes
- · Distributed systems fundamentals
- · Database internals and tradeoffs
- · Replication and consistency models
- · Stream and batch processing
- · System design vocabulary for engineering teams
Common praise
- + The replication and consistency chapters give engineers vocabulary for arguments they were already having with their teams.
- + r/ExperiencedDevs commenters return to it as a reference when real scaling problems appear, not just for interviews.
- + Covers Kafka, consensus algorithms, and storage engines in one place without requiring six separate blog posts.
- + The ↑265 thread about Kleppmann's 477k royalty figure treated commercial success as confirmation of the technical consensus.
Common criticism
- − r/devops and r/programming are both flat neutral, suggesting infrastructure engineers find it too theoretical for day-to-day ops work.
- − Readers who haven't hit distributed systems problems yet report it reads like a catalog of problems they don't have.
- − Yearly mentions fell from a peak of 161 in 2021 to 59 in 2025, which may reflect the ecosystem moving faster than the 2017 text.
Who it's for
You're a backend engineer who keeps running into conversations about consistency, replication lag, or Kafka partitions and feels one step behind. This fills that gap. If you haven't shipped something that broke under load yet, you'll finish it and retain about 30 percent — come back after your first incident. Data scientists on r/datascience (14 mentions) and ML practitioners on r/MachineLearning (10 mentions) mention it in passing, suggesting it's on the radar but rarely the priority for that crowd.
Mentions over time
Which Reddit comments matter for Designing Data-Intensive Applications?
Top-upvoted quotes across the subreddits where this book is mentioned. Click through to read the full thread.
“We should really just put together a community reading/listening list... Reading: * Clean Code / Clean Architecture / […
“Read Designing Data-Intensive Applications by Martin Kleppmann. As a backend engineer, this is your bible.
“Lol there was just a thread about this in the ExperiencedDevs sub TL DR of the thread 1. Systems Expert (by the AlgoExpert guy) is too basic and not worth the $100. 2. Read tech blogs. There's a free newsletter that sends out summaries of tech blogs (they also send leetcode…
“Some things that could help: - my bachelor's degree was like 90% theory and I also slacked off with a 2.8 gpa lmao so I also felt like I didn't know anything, you could be in the same position, but you'll get practical knowledge on the job and that's what school doesn't give you really - school do…
“I found the authors blog post about the book very interesting where he explains how much money he earned from it (477k until 3.5 years after release) and how much time he needed to write it (about 2.5 years full time). It's a l…
“Here's my list of the classics: **General Computing** * But How Do It Know? - The Basic Principles of Computers for Everyone * The Elements of Computing Systems: Building a Modern Computer from First Principles * […
“Designing Data-Intensive Applications.
“Designing data-intensive applications by Martin Kleppman was eye opening for me because it gave me a common "language" in order to speak with other experienced engineers about high level architecture. It also is just incredibly useful as a reference when you actually start to run into problems wher…
Convinced? Pick up Designing Data-Intensive Applications
Readers also mention
Books that share discussion threads with Designing Data-Intensive Applications — counted from the comments, not curated.
System Design Interview
Alex Xu
Alex Xu's interview prep guide that one r/cscareerquestions commenter credits with landing his current job.
A Philosophy of Software Design
John Ousterhout
A Stanford professor's 200-page rebuttal to Clean Code, built on interface depth rather than method length.
Database Internals
Alex Petrov
Alex Petrov walks you through B-trees, LSM storage, and Paxos at a pace that doesn't assume you've already read the Spanner paper.
The Pragmatic Programmer
Andy Hunt
Two veterans hand you a checklist for the craft: don't write code you don't need, own your tools, and fix the broken window before someone else does.
Design Patterns
Erich Gamma
The 1994 Gang of Four catalog that named 23 object-oriented patterns, gave developers a shared vocabulary, and taught a generation to over-apply both.
Refactoring
Martin Fowler
Martin Fowler's catalog of named moves for cleaning up code that already works, cited 116 times across Reddit in 7 years as the Clean Code alternative people actually prefer.
Designing Data-Intensive Applications — frequently asked
What does Reddit actually think of Designing Data-Intensive Applications?+
Broadly positive, and specifically so among experienced engineers. r/ExperiencedDevs is the lead subreddit with 260 of the 561 total mentions and the warmest sentiment. The "this is your bible" comment at ↑349 is the one that keeps getting cited.
Is Designing Data-Intensive Applications still worth reading in 2026?+
Yes, with a caveat about age. The book came out in 2017 and yearly mentions peaked at 161 in 2021, dropping to 59 in 2025. The core tradeoffs haven't changed, but specific tooling chapters date faster. r/ExperiencedDevs still referenced it as recently as March 2026, which is a decent signal that the fundamentals hold.
Should I read Designing Data-Intensive Applications before or after I study system design for interviews?+
After, or alongside. r/cscareerquestions mentions it in reading lists at ↑276 and ↑308 but the tone is additive rather than foundational — it deepens interview knowledge rather than building it from scratch. One thread explicitly flagged that Systems Expert is too basic, and pointed here as the step up.
Is Designing Data-Intensive Applications only useful for engineers who work on distributed systems?+
No, but that's the audience it helps most. The ↑236 r/ExperiencedDevs comment describes it as giving a common language for high-level architecture conversations — useful even if you're not building distributed systems yourself, just talking to people who are.