skip to content
BooksReddit

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.

436
Total mentions
379
Unique Reddit accounts
case-insensitively deduplicated across the selected corpus
+0.38
Avg sentiment
scored published excerpts: −1 pan ↔ +1 praise
11
Subreddits
where it's mentioned

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.

Tracked mentions
436 mentions
Distinct Reddit accounts
379 distinct account identifiers
Tracked subreddits
11 subreddits
Published source excerpts
8 source excerpts
Average sentiment
Average sentiment +0.38
Last updated
Updated August 1, 2026

Account identifiers are case-insensitively deduplicated across the selected corpus and are not a count of distinct people. Average sentiment summarizes only scored published excerpts; unscored excerpts are excluded rather than treated as neutral. It does not describe all mentions and is not a star rating. Methodology →

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

Q1 2019 peak: 31/qtr Q1 2026

Top subreddits

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 / […

r/cscareerquestions ↑ 498 Not scored

Read Designing Data-Intensive Applications by Martin Kleppmann. As a backend engineer, this is your bible.

r/ExperiencedDevs ↑ 349 positive

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…

r/cscareerquestions ↑ 308 mixed

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…

r/cscareerquestions ↑ 276 mixed

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…

r/ExperiencedDevs ↑ 265 mixed

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 * […

r/learnprogramming ↑ 257 Not scored

Designing Data-Intensive Applications.

r/ExperiencedDevs ↑ 248 positive

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…

r/ExperiencedDevs ↑ 236 positive

Readers also mention

Books that share discussion threads with Designing Data-Intensive Applications — counted from the comments, not curated.

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.