Books of 2024
After going through my notes from this year, I realized that most of my reading time was spent on three hefty books—each over 700 pages long—and several white papers, many of which I ended up reposting on X.
The books (appearing in the order they were read)
- Systems Performance: Enterprise and the Cloud, 2nd Edition (Gregg)
- Computer Networking: A Top-Down Approach, 8th Edition (Kurose and Ross)
- Operating Systems: Three Easy Pieces (Arpaci-Dusseau and Arpaci-Dusseau)
A few personal thoughts
Operating Systems (OSTEP) turned out to be both fun and concise—no small feat when the material can get pretty dry. My biggest takeaways were the data structures and architectural patterns that have stood the test of time and show up in modern Operating Systems (hint: you don’t need to be a Kernel maintainer to benefit from them).
Looking back, I wish I’d read OSTEP before Systems Performance, because Systems Performance builds on much of the theory that OSTEP covers in such great detail. For those curious, the three “easy” pieces are Virtualisation, Concurrency, and Persistence.
Computer Networking gave me a deeper understanding of the network stack than I ever expected. It’s a bit heavy on content, so I know I’ll need to revisit some sections. I wouldn’t label it a must-read for every developer, but there’s still plenty of useful information—especially around the application and transport layers.
As for Systems Performance, this was my second time through, and it still offered just as many new insights. Each chapter opens with background theory that lays the groundwork for the tools discussed later, showing how to boost observability in a system. I’d recommend reading those background sections front to back, then referencing the tools as needed.
Overall, if I had to pick just one book, I’d go with Operating Systems: Three Easy Pieces. Its focus on core software fundamentals provides re-usable knowledge in an approachable way—quite refreshing when you consider how much time engineers spend learning ephemeral frameworks and tools.