Back to blog
BooksEngineeringGrowth

My Reading List

April 9, 20242 min read
My Reading List

Books that shaped my thinking as a software engineer — from system design to psychology and productivity.

A curated list of books I've read or plan to read. These have directly influenced how I think about system design, team dynamics, and building better software.

Currently Reading

  • Designing Data-Intensive Applications by Martin Kleppmann — The definitive guide to distributed systems, replication, partitioning, and transactions. Most of my distributed systems blog posts are notes from this book.
  • Actionable Gamification by Yu-kai Chou — Framework for understanding motivation and engagement beyond superficial points/badges.

Already Read

  • The Well-Grounded Rubyist by David A. Black & Joseph Leo — Deep understanding of Ruby's object model, blocks, procs, and metaprogramming. Essential for anyone writing Ruby professionally.
  • Influence: The Psychology of Persuasion by Dr. Robert B. Cialdini — Six principles of persuasion that apply to everything from product design to negotiation.
  • The Speed of Trust by Stephen R. Covey — How trust impacts team velocity and organizational effectiveness.
  • Refactoring UI by Steve Schoger & Adam Wathan — Practical UI design tips for developers. Changed how I approach frontend work.
  • Ikigai — The Japanese philosophy of finding purpose at the intersection of passion, skill, demand, and livelihood.
  • Clean Code by Robert C. Martin — The classic on writing readable, maintainable code.
  • Getting Things Done by David Allen — Productivity system for managing complex projects without losing track.

On My List

  • Continuous Delivery by Jez Humble & David Farley — CI/CD pipelines, deployment strategies, and release engineering.
  • Head First Design Patterns by Eric Freeman — Design patterns explained through visual, engaging examples.