One of my favorite topics is how to be a more effective software and cloud architect. Inevitably, I get asked for book recommendations, so I have compiled this list for everyone who has asked (and those who have not yet but should). This list is subjective and condensed. There are plenty of other great books out there, but for me, these are essential. Let’s dive in.
1. “The Well Rounded Architect” by Patrick Kua (2016)
This article is a fantastic starting point. It explains the different dimensions of being an architect and what it takes to develop a well-balanced skill set. If you come from a developer or ops background, use this article to identify your biggest gaps and start addressing them. Read it here
2. “The Software Architect Elevator” by Gregor Hohpe (2020)
After identifying your gaps, it’s crucial to understand your role within a company. Gregor Hohpe’s book introduces the concept of an architect riding the elevator to create a closed feedback loop within the organization. This role is vital for breaking silos and enabling complex decision-making across different levels. This is foundational for any aspiring architect. Complementarily, I highly recommend Gregor’s talk on thinking about architectural decisions as financial options. It became one of my most used mental models explaining tech tradeoffs to stakeholders. Watch the talk
3. “The 4 Disciplines of Execution: Achieving Your Wildly Important Goals” by Chris McChesney and others (2012)
Now that you understand your role, it’s time to execute effectively. Is your architecture good? You can only answer this question if you measure the right metrics. This book introduces leading vs lagging indicators and has plenty of good examples and checklists (I love checklists). Not a tech book, but truly actionable.
4. “The Phoenix Project” by Gene Kim (2013) and “The Unicorn Project” by Gene Kim (2019)
With execution tools in hand, you need to navigate complex environments. There is no compression algorithm for experience, but these books are the next best thing. They help you understand and navigate complex environments. More importantly, there is a high chance your peers have read them, so the anecdotes codify a piece of DevOps culture. (Plus, they help you identify whether you have a “Brad” in your team.)
5. “Thinking in Bets: Making Smarter Decisions When You Don’t Have All the Facts” by Annie Duke (2018)
I learned from Annie Duke that we bet all the time, and what matters is that we are working backwards from decisions, not results. This aligns perfectly with what we do as architects: thinking about the trade-offs of decisions. This book lays a strong foundation for this approach.
6. “Continuous Discovery Habits: Discover Products that Create Customer Value and Business Value” by Teresa Torres (2021)
Architects love solutions, but it is often not helpful to jump straight into the solution space. Patience in the opportunity space is essential. Teresa’s book provides a systematic approach for developing this patience. Architects must have a solid grasp of opportunities to make informed decisions about trade-offs.
7. “The System Design Primer” by Donne Martin and others
Mastering system design is a significant task. This repo is a comprehensive resource for learning everything you might need to know, keeping the system’s perspective in focus. Originally written for system design interviews, it is incredibly useful for tackling all kinds of system design challenges. Check it out