Designing Data-Intensive Applications versus Software Engineering at Google.

Both show up on every "best" list. They're not competitors. They're a sequence. Here's which one to read first, and when.

Reviewed by Ashish Sheth · Updated June 2026
Option A
Designing Data-Intensive Applications
Designing Data-Intensive Applications
Martin Kleppmann, Chris Riccomini · 2026
READ FULL REVIEW →
Option B
Software Engineering at Google
Software Engineering at Google
Titus Winters, Tom Manshreck, Hyrum Wright · 2020
READ FULL REVIEW →
Author
Martin Kleppmann, Chris Riccomini
Titus Winters, Tom Manshreck, Hyrum Wright
Pages
720
599
Published
2026
2020
Publisher
O'Reilly Media
O'Reilly Media
Level
intermediate to advanced
intermediate to advanced
Amazon Rating
4.7/5 (312)
4.6/5 (712)
Goodreads Rating
4.55/5 (480)
4.32/5 (1,480)
Designing Data-Intensive Applications
Strengths
+ Best-in-class explanations of distributed systems fundamentals
+ Vendor-neutral: teaches principles, not specific tools
+ Excellent diagrams that make consensus and replication finally click
+ 2nd edition refreshes every chapter and adds AI/ML data systems coverage
Caveats
Dense: not a weekend read, expect 3-4 months at one chapter per week
Light on hands-on code; pair with a database internals book for implementation depth
Some readers wish the new edition went deeper on cloud-native specifics
Software Engineering at Google
Strengths
+ Honest about what worked, what didn't, and what's specific to Google's scale
+ Best available treatment of large-scale code change and deprecation
+ Each chapter stands alone — you can read just the topics you need
+ Coined Hyrum's Law in a form every engineer should internalize
Caveats
Some chapters are heavy on Google-specific tools (Blaze, Critique, Piper)
Cultural chapters can feel like recruiting marketing in places
Less directly applicable at a 10-person startup than at a 1,000-person company
The verdict
Designing Data-Intensive Applications is the stronger pick overall, but Software Engineering at Google may suit you better if you're a engineers at growing companies adopting scalable practices.
Designing Data-Intensive Applications
Check Price on Amazon →
Software Engineering at Google
Check Price on Amazon →
Frequently asked
Which is better, Designing Data-Intensive Applications or Software Engineering at Google?
Designing Data-Intensive Applications is the stronger pick overall, but Software Engineering at Google may suit you better if you're a engineers at growing companies adopting scalable practices.
Is the 2nd edition of Designing Data-Intensive Applications worth buying if I already own the first?
If you read the first edition cover to cover already, the upgrade is incremental: every chapter is refreshed and there's new coverage of AI/ML data systems, cloud-native architectures, and modern streaming. If you skimmed the first or read it years ago, the 2nd edition is the better starting point.
Is Software Engineering at Google only useful if you work at a big company?
Most chapters apply at any team size of about 20+ engineers. The book is explicit about which practices need scale to pay off and which work even on small teams — read the testing, code review, and deprecation chapters first; treat the monorepo and infrastructure chapters as context.