Clean Code by Robert C. Martin
At both my previous and current jobs, I’ve run book clubs that focused on this book. It has always led to great conversations around the various topics within. Even if the team doesn’t necessarily agree with a particular recommendation in the book, the discussion itself is worth it. It is essential that everyone is on the same page when it comes to topics like meaningful names, comments, and error handling.
You are reading this book for two reasons. First, you are a programmer. Second, you want to be a better programmer. Good. We need better programmers.
Managing Humans by Michael Lopp
Unlike most management books, this one is specifically geared towards the software industry. And yet it still espouses the same basic principle: it’s all relationships and results. This book puts a humorous twist on many situations a new manager will encounter. The author’s software background makes the material relatable to those who were developers and are now transitioning to management.
My definition of a great manager is someone with whom you can make a connection no matter where you sit in the organization chart.
Extreme Ownership: How U.S. Navy SEALs Lead and Win by Jocko Willink & Leif Babin
Willink and Babin mix pertinent war stories with leadership lessons that apply to any leader, whether in the military or in the business world. Given the push for self-organizing teams in the world of Agile, I found the lessons here regarding empowering your team instead of micromanaging to be extremely relevant to technologists. Plus, the whole second on “Cover and Move” is helpful when working with other groups, such as IT, Product, etc.
As SEALs, we operate as a team of high-caliber, multi-talented individuals who have been through perhaps the toughest military training and most rigorous screening process anywhere. But in the SEAL program, it is all about the Team. The sum is far greater than the parts.
His Majesty’s Dragon by Naomi Novik
Naval dragons during the Napoleonic Wars. What else do you need to know?