Reading

My curated reading list on software engineering.

Books

Cover of Learning Domain-Driven Design

Learning Domain-Driven Design

Vlad Khononov (2021)

I have always put care and thought into the software I write. In this book Vlad taught me how to put the domain first, and how to make the right architectural decisions.

Book onSoftware Design|
Cover of Designing Data-Intensive Applications

Designing Data-Intensive Applications

Martin Kleppmann (2017)

This book was presented to me at my distributed systems course at NTNU, and it's hands down one of the software books I have enjoyed the most.

Martin taught me all the fundamentals of distributed systems, and I believe the concepts are very well articulated in the book.

Book onDistributed Systems|

Research articles

Cover of The Chubby lock service for loosely-coupled distributed systems

The Chubby lock service for loosely-coupled distributed systems

Mike Burrows (2006)

Locking, atomicity, and transactions implementations are quite cool. I wanted to learn more.

I did find it quite amusing how most Chubby users are actually using it for performing name resolution...

Paper onDistributed Systems|
Cover of Conflict-free Replicated Data Types: An Overview

Conflict-free Replicated Data Types: An Overview

Nuno Preguiça (2018)

In this paper Nuno Preguiça explains the fundamental workings of CRDTs in a quite easy and understandable way.

This was another one of my master thesis papers, and it introduced me to real-time distributed systems.

Paper onDistributed Systems|
Cover of Dapper, a Large-Scale Distributed Systems Tracing Infrastructure

Dapper, a Large-Scale Distributed Systems Tracing Infrastructure

Benjamin H. Sigelman, Luiz André Barroso, Mike Burrows et al. (2010)

Distributed debugging and system observability have been favorite topics of mine for a long time.

I found it very interesting to see part of the developments that have led up to the model OpenTelemetry is built on, and how ahead of the industry standard Google was.

Paper onDistributed SystemsObservability|
Cover of In Search of an Understandable Consensus Algorithm

In Search of an Understandable Consensus Algorithm

Diego Ongaro, John Ousterhout (2014)

It was first at Kubecon Japan 2025 I understood the role, needs, and use of quorum-based leader election. Paxos seemed very daunting at the time, so Raft was the perfect introduction, plus it's also used in etcd :)

The Secret Lives of Data also has a top tier visualization of the Raft algorithm.

Paper onDistributed Systems|

Other papers I found interesting