A ramsham list of books I've read. GoodReads without the bullshit. I've read it if I've read every page.

In early 2021 I decided to sometimes add thoughts about the books.

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems by Martin Kleppman

Read over Christmas break 2020 through most of January, 2021

It is hard to go beyond the "intermediate" level of a skill because the world contains so much beginner material and the rest appears so dense we can't even approach it.

This book meets a software developer in the intermediate stages of their technical (especially distributed systems) journey and fills in gaps that make everything so dense seem less scary, perhaps enabling them to approach more advanced material. I think Kleppman achieves this by keeping the material abstract. While he refers to specific tools throughout the book, his focus is on the ideas, motivations, and goals behind the tools. Most tools are mentioned in groups of other tools that address similar problems. I came away from the book feeling ready to analyze the next unfamiliar tool in terms of its ideas, motivations, and goals using familiar concepts.

Caveat: It's implicit in the title, but this book probably won't do anything for your understanding of hardcore number-crunching, except maybe round out your world view. It's also not a book for beginners. But even if you've used multiple relational SQL database systems, NoSQL databases, any distributed data store, or even if you've read about them a lot, even if you know tons of features of these products and know how to configure them, chances are that, unless you've had some kind of formal training, you have not been able to look at those tools from such fundamental points of view as Martin Kleppman shows his readers. Why are relational databases so popular? How have they evolved? How can we explain subtleties between their transaction models? What even is a transaction, fundamentally, and what is the idea's history? Why does AWS behave so differently than software of yore? Exactly what kinds of problems are the authors of my favorite complex software trying to solve, at bottom? This isn't really a technical manual type of book. It answers questions like "Big data is popular, but what the hell is it and why did anyone even come up with it?"

This book deals with big, fundamental concepts that are almost directly applicable to practical everyday software engineering. You'll read this, and while you won't know how to install or use some new software, you'll start seeing the book's ideas and patterns seemingly everywhere.

Books read before adding comments/mini-reviews

Read sometime before starting this list

Obviously not comprehensive, but fun. I've tried to remember bad, good, and forgettable stuff.

Approximately 2019

Approximately 2018

Approximately 2017

Approximately 2015

Approximately 2014

Approximately 2012

Approximately 2011

Approximately 2010

Other formats

The lists above don't discriminate between audiobooks/ebooks/physical books.

Last updated: Tue 05 January 2021