What Am I Consuming?
Reading is fun…damental. I read a lot every day, often filling in any gaps in meetings to read an article or continue a book. Sometimes I take detailed notes on a post or book; sometimes, I consume, digest, and move on. I am a big believer that folks in software and consulting must read to stay abreast of new things, best practices, and what others are doing.
Frequently, I have that discussion with someone where we trade book recommendations. I like those conversations as they allow me to give a gift and get a gift. Writing down some of my recommendations seems inline with the spirit of spreading reading gifts to you, the honored visitor to my blog.
I usually have a few books going at once for work. Here are a few I am either reading or have read.
War & Peace & IT by Mark Schwartz
This book is that rare breed about a seemingly dull subject but is very hard to put down. Mark writes in a funny, engaging manner and uses excellent analogies to drive home points. I return to my notes on the book weekly.
Some favorite quotes:
- “The digital transformation requires that the enterprise embrace nimbleness as a daily dance move.”
- “The challenge, therefore, is not just to create an innovation; it’s to create a constant stream of innovations, to make innovation a normal part of doing business every day. And that can best be done if we overcome the duality of IT and the business. Innovation flows when teams have everything they need to conceive ideas and quickly test them—both IT and business abilities. We need to institutionalize a continuous cycle of destruction and recreation, a Shiva-esque dance of transcending duality.”
Team Topologies by Manual Pais and Matthew Skelton
You may not think about team structure as much as other aspects when building new software products. After reading this book, you will look at every project through the lens of teams and interactions. The term “Reverse Conway Maneuver” will be something you say and use to drive your architecture going forward. I enjoyed this book.
Competing with Unicorns by Jonathan Rasmusson
You’ve likely seen the videos or read a post or two about Spotify’s engineering team structure. Well, Jonathan helped create it. It pioneered the uses of Squads, Tribes, and bets. Many organizations have tried to emulate Spotify’s culture and setup, and for a good reason. This book is full of practical guidance on building teams and cultures that make progress.
Shape Up by Ryan Singer
Shape Up details Basecamp’s “way of working.” Briefly, Basecamp makes “bets” on items that are “shaped” into 6-week cycles. Their approach is novel, for sure, and makes a ton of sense. One of my goals for 2021 is to move toward a similar system in my work.
From the people at Container Solutions, this book aims to create a pattern language around migrating to the cloud. Their approach is well-informed, and the text is exceedingly readable. The patterns will make you think and, if you’re moving to the cloud or helping someone move, inspire you to look at all the right aspects. There’s a Cloud-Native Maturity Matrix in this book that is worth the price all by itself.
Accelerate by Nicole Forsgren, Jez Humble, and Gene Kim
After I read this book, I developed a rule-of-thumb to consume anything any of the authors create. Accelerate explains the results of years of research around what makes software development teams effective. The outcome is a bible for those wanting to build the right capabilities into their development teams. This is mandatory reading, in my opinion.
Design IT! by Michael Keeling
Finding a good book on software architecture is difficult. I’ve read a few, and so many of these books read like textbooks. So, when I found Design It! I was elated. Design IT! is an enjoyable read that gives a pragmatic definition and approach to discovering and evolving a solid architecture. The latter part of the book is full of different activities and workshops to apply to the discovery process and flush out the right information. I recommend this book to every architect and budding architect I meet.
The Pragmatic Programmer by David Thomas and Andrew Hunt
It’s a cliché at this point, but this is the book that changed everything for me as a programmer. I read it when it was new, so that dates me a bit. The list of concepts this book exposes is impressive: Domain Languages, DRY, user focus, design by contract, master your tools, and on and on. This book put me on the path to being a professional developer and software craftsman. Every programmer should read it as early in their career as possible.
That’s the list for now, even if I am reading many books at any given time. I’ll likely come back and update this page with new books that I enjoy. Here’s hoping someone gets something out of my list. If you do, hit me up on Twitter.