I try to keep this list of books up to date with what I’ve read and what I’m reading. Topics include software engineering, architecture, programming, management, and startup advice. I’ll provide a summary of each book along with how much I’d recommend it. Please note that all links are affiliate links, so I’ll get a small commission if you click through the link then buy the book. Happy reading!
|The authors walk through a ton of research about how improving software delivery improves company performance and engineer happiness. They also explain what techniques actually improve software delivery. A must read for anyone looking to ship faster and better.
|Building Event-Driven Microservices
|Uncle Bob Martin (think Agile manifesto, SOLID principles, etc.) lays out everything he’s learned about code architecture. By architecting well, we can create code that is easy to maintain for years to come, even as it grows.
|Designing Data Intensive Applications
|Ever wondered whether to choose SQL or NoSQL? Document data stores? Why do some people use Cassandra? How do you handle queries that produce more data than you can hold in memory? This book helps answer all these questions and help you make better choices about your data storage.
|Definitely—I had a big knowledge gap here and this book helped big time
|Explains why metrics matter to a business, what a good metric is, how to track and communicate them, and what the most important metrics are for various types of businesses. You need to read this if you want to be more than just a peon at work.
|The Lean Startup
|This book started the whole Lean movement. Ries has us reframe the purpose of a startup around learning (learning a product-market fit, learning a business model, learning what customers actually want, and so on). If you’re working in a startup, or want to start your own business, I’d highly recommend this.
|Explains Conway’s Law (software architecture will mimic the shape and communication patterns of the org it’s created in), the Inverse Conway Maneuver, and how to set teams up and get them to communicate.
|Can get a little slow, but overall yes!