A reading list for software developers that I wish I had when starting

Introduction

Let me start by saying that throughout my teenage years all the way through to undergrad, I was never a big book reader. Sure I enjoyed the occasional Da Vinci Code & John Grisham but a good year for me meant having read ~4 books. As luck would have it, I married a woman who reads a lot, and her book recommendations made me an avid reader too. These books have helped me in my career and I hope you find them useful.

A few things to note before we dive into the book list:

  1. I have consumed most of these books in an audiobook format. Given how time pressed we all are, I have found pairing audiobooks with a light exercise, such as walking, to be immensely satisfying.

1. Mindset: The New Psychology of Success by Carol Dweck

You are going through the list, so most likely you are already in an intellectual “growth mindset”. That said, you might not realize the other areas where you might be in a “fixed” one.

So first things first — this book helped me understand where and why I still need to grow.

2. 5 Dysfunctions of a Team by Patrick M. Lencioni

I suggest reading this when you have started at work in your first team or when you feel that your current team can do better, but can’t really put your finger on why and how. When I first read this book, it made me think back on the great teams I had the privilege to be part of, and the ones that never seemed to click. It all started to make sense. Another great thing this book does is that it explains how dysfunction can happen at all levels of seniority.

3. The Art of Doing Twice the Work in Half the Time by Jeff Sutherland

If this is your first time in an agile team, this is a must read to answer “why agile”.
If not or if you think you know agile, it’s always good to review why many technology companies follow agile ceremonies, what they should look like, and what purpose they serve.

4. The Lean Startup by Eric Ries

A must read to understand what is an MVP (minimal viable product) and answer “why MVP”, “why small batches” etc. Also, If you ever have a great idea for a new start up, read this book before you start. It will help you avoid many costly mistakes and set you up on the right path.

5. The Hard Thing About Hard Things by Ben Horowitz

I suggest reading this once you start thinking you can do a better job than the CEO of your company\startup or when you feel like you don’t understand “management”.
When I read this book, I felt like I finally got a very real glimpse into the life of a CEO and helped me understand how to think in their terms. The author’s perspective developed empathy in me for CEOs.

6. Flawless Consulting: A Guide to Getting Your Expertise Used by Peter Block

As your seniority level increases, you will find yourself involved in discussions that require strong soft skills such as influence without authority. This book will help sharpen your influencing toolkit, preventing you from getting frustrated or coming across as arrogant and difficult. You’d be surprised how many engineers struggle with communicating with empathy. I believe this book goes a long way in mitigating that by providing useful frameworks.

7. The Way of the Shepherd by Kevin Leman and William Pentak

Before you get promoted or switch to a job where you become a people manager, I would recommend that you start with an easy read. If you are already managing a team, this book serves as a solid & fun reminder of the basics you may have been neglecting. It’s worth mentioning this book recommendation is off the beaten path. I picked it up by chance and found it to be exactly what I needed when I first started managing a team.

8. The Coaching Habit by Michael Bungay Stanier

Once you start leading a team, this is a great next read to make sure your team members are getting the most out of your mentorship and 1:1s sessions. This book provides a great template for coaching through habit formation and habit change.

9. The Manager’s Path by Camille Fournier

As you get better at team management and have decided that you want to grow your career on the people manager path, this book could be quite handy in helping you chart out next steps. While you may still be accumulating crucial experiences as a software developer, this book will guide you to identify what it means to “do the job of the next level” in order to make the case to get there.

10. Who: The A Method for Hiring by Geoff Smart

As a hiring manager, you will be responsible for building great teams. This book offers suggestions on confidently identifying and selecting the best candidates. I strongly recommend using the Top Grade interview methodology for hiring.

More abstract

Once you are done with these, it’s time to start thinking about things at a higher level

11. An Elegant Puzzle: by William Larson

Provides some more abstract ways \ a systems approach to the many common problems and frameworks you can try to apply to your challenges.

12. Good to great: by James C. Collins

A great framework to consider for winning. It allows you to reflect on your experiences with the organizations that you’ve been part of.

13. Turn the ship around: by L. David Marquet

Similar to good to great, focus on practical ways to change people’s attitude

14. Measure what matters: by John Doerr

The what & why behind OKRs A great system for aligning and driving an organization.

15. Playing to Win: by Alan G. Lafley and Roger Martin

At some point you will start formulating opinions on organizations strategy and tactics — reading this will help shape and enrich your thoughts with some of the best case studies out there.

16. Drive: by Daniel H. Pink

If you find yourself hiring the right people, with a great attitude and amazing track records, but for some reason you see them losing their motivation and passion — might be the time to read this framework and think things over

There are so many other amazing books that have propelled me forward, from self-help to inspiring biographies and other thought-provoking stories that I have painfully left out. Hope this list is useful to several of you.

Director of Engineering at Top Hat. Worked at successful startups and large technology companies in various high responsibility roles.