Karl Hughes

Karl Hughes

Essential Reading for Software Engineering Managers

Essential Reading for Software Engineering Managers

Software engineering management is an evolving field with a growing body of knowledge, and thousands of books are available on the topic. I started reading more a few years ago, so I thought I would take a look at some of the best software management books available. Most of these are pretty popular in the field, but some are a bit non-traditional, so bear with me. Scroll to the bottom if you want to suggest your own favorites as well.

Note: If you’re looking to stay hands-on, I’ve collected 20 of my favorite books for software engineers here. There’s some crossover between these lists, but it’s worth checking both out.

Classics

The books in this category have been around at least 10 years, and are frequently passed around as classic tomes of management. While newer books are worth reading too, I think it’s healthy to start with the works that have withstood the test of time.

Peopleware: Productive Projects and Teams by Tom DeMarco

The nice thing about software is that it is predictable. Computers do what you expect them to every single time, but figuring out how to make people work together is a lifelong exercise. Despite being over 30 years old now, Peopleware has helped me on my journey to figuring that out.

I wrote a more detailed review of Peopleware back in 2015. Click here to read it.

The Goal: A Process of Ongoing Improvement by Eliyahu M. Goldratt

This book completely changed by outlook on productivity when I first read it. It’s tempting to think that by firing on all cylinders at all times, you can push an engineering team to produce more, but The Goal teaches managers that it’s really all about finding and eliminating bottlenecks.

The Goal is a gripping, fast-paced business novel about overcoming the barriers to making money. You will learn the fundamentals of identifying and solving the problems created by constraints. From the moment you finish the book you will be able to start successfully addressing chronic productivity and quality problems.”

The Mythical Man-Month by Frederick P. Brooks Jr.

Written in a time when programming was done on punch cards, The Mythical Man-Month holds up surprisingly well. No matter what tools we have available, software engineering is a complex discipline, and managing software engineers requires an understanding of those challenges.

“Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects.”

How to Win Friends and Influence People by Dale Carnegie

A lot of engineers don’t like to hear this, but once you move into management, networking and navigating company politics are part of the job. Before reading How to Win Friends, I didn’t think about things like remembering peoples’ names, keeping in touch with old contacts, or becoming an influencer in the field. If you struggle with this part of management, read this classic.

“This grandfather of all people-skills books was first published in 1937. It was an overnight hit, eventually selling 15 million copies. How to Win Friends and Influence People is just as useful today as it was when it was first published, because Dale Carnegie had an understanding of human nature that will never be outdated.”

Latest and Greatest

Written in the past 10 years, I can’t promise these books will all stand the test of time, but in 2019, they’re well worth reading.

The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win by Gene Kim

Inspired by The Goal, Phoenix Project takes a similar fast-paced, exciting story and puts in into a software delivery context. If you just read one of these two books, start with The Goal, but if you like that one, you’ll enjoy Phoenix Project as well.

“DevOps is this mythical assembly line of progress that gets code from point A to point B in record time, and by record time, I mean no time. Coded, auto-tested, out the door…The book was an entertaining read and the authors cleverly couch the concepts of DevOps into a story about a failed delivery system.”

Building Great Software Engineering Teams by Josh Tyler

My big takeaway from Tyler’s book was that great teams are made, not bought. In other words, you can’t hope to always recruit the best of the best, so you need to have a plan in place to make average engineers successful.

“The challenge of scaling up a team can be intimidating…Josh Tyler has spent nearly a decade building teams in high-growth startups [most recently at Course Hero]…He draws on this experience to outline specific, detailed solutions augmented by instructive stories.”

Recruit Rockstars by Jeff Hyman

While I don’t like the idea of calling employees “Rockstars”, I was surprised by how much I enjoyed Hyman’s book. Instead of focusing on flashy marketing or expensive contingency recruiters, Hyman encourages managers to have a very specific wishlist (I call it my hiring rubric), and consistent process for recruiting, interviewing, and onboarding new team members.

“This is the must-read guide for any leader, in any industry, who aspires to build a team of top performers. I’ve hired countless people in my career, from GE to McKinsey to Northwestern, yet I started taking notes on page one. Jeff Hyman’s Recruit Rockstars is the decoder ring we all need.” - Betsy Ziegler, Chief Innovation Officer at Kellogg School of Management

Drive: The Surprising Truth About What Motivates Us by Daniel Pink

Once you build a team, your job as manager becomes motivating and directing them, but employees aren’t the same as they were 30 years ago. Today’s Millenial engineers want purpose, autonomy, and flexibility. If you’re a more traditional thinker who wants employees to do what you say, “just because” then you need to read Pink’s book.

“Important reading…an integral addition to a growing body of literature that argues for a radical shift in how businesses operate.”

The Decision Maker by Dennis Bakke

Once you leave the role of “software engineer,” and step into management, your job is to empower your team to make the best decisions possible. You can’t possibly make every important (and unimportant) decision, but if you think about how you can empower your team members to make the call on their own, you can amplify your effectiveness. The Decision Maker shows you exactly how this can work through several short vignettes at an imaginary company.

“Bakke has some counter-intuitive counsel for you. Maybe, just maybe, you should push decision-making farther down into your organization because the people closest to the situation are the best informed and have the most at stake.”

Lean from the Trenches: Managing Large-Scale Projects with Kanban by Henrik Kniberg

Kanban is one of the most valuable tools for agile project management. Once you’re a manager, your job becomes reporting on progress of projects you may no longer be directly involved in, so you need tools like Kanban to visualize your team’s progress. This book goes beyond the theory and gives you lots of real-world examples of Kanban in the field.

“You can find many books on Kanban (or any other “agile” philosophy/methodology), but real world information about about HOW those philosophies have been implemented, and how real world problems have been solved are hard to come by. This book meets that pressing need.”

The most popular agile framework is Scrum, and while there are many ways to do it, Essential Scrum delivers a strong guide for how to do it well.

“Corporate IT leadership, which has been slow to embrace agile methods, would benefit immensely from giving a copy of this book to all of their project and delivery managers. Kenny Rubin has laid out in this book all the pragmatic business case and process materials needed for any corporate IT shop to successfully implement Scrum.”

For Startup Engineering Managers

I believe that managing engineers at a startup is a related, but different skill than doing so at in an enterprise environment. The stakes are different, the resources are tighter, and the company may change direction completely in just a few short months. With those challenges in mind, I thought it was worth putting these books into a category of their own.

The Lean Startup by Eric Ries

This remains my top recommendation for new startup product and engineering managers. While the book isn’t necessarily for startups only, it’s a lot easier to implement short feedback cylces when your whole company can fit in a single room.

The E-Myth Revisited: Why Most Small Businesses Don’t Work by Michael E. Gerber

Founders and managers in startups should understand the difference between being “technicians” and “managers”. This can be especially challenging for talented engineers who see direct value from the code they write, but struggle to understand what managers are supposed to contribute.

Startup Engineering Management by Piaw Na

Piaw’s startup experience has been at slightly larger, more mature startups, but the topics he covers are worth knowing at any stage:

  • Why a manager should consider doing management work.
  • How a manager should put together his team.
  • The important things to consider when interacting with engineers.
  • How to hire top engineers for your startup.
  • How to pick engineering leaders.
  • How to define processes and when don’t you need them.

Disrupted: My Misadventure in the Start-Up Bubble by Dan Lyons

I think working at a startup is totally worth it, but you should read the case against them too. In Disrupted, Dan Lyons recounts his experience at Hubspot as they hacked and sputtered their way to relative success. Lyons is a cynic, but hilariously so.

Bad Blood: Secrets and Lies in a Silicon Valley Startup by John Carreyrou

Where Disrupted is funny, but mostly harmless, Bad Blood tells the story of Theranos, a medical device startup that deceived investors and the public with impossible claims. As engineers, we have a moral obligation to stand up and speak out when our technology is being misrepresented, and in Theranos’ case, that didn’t happen.

The Innovator’s Dilemma by Clayton M. Christensen

Technology companies face an interesting catch-22 that startups often capitalize on. If larger companies with established products offered significantly cheaper, lower-market products, they’d undercut their own cash cows. So, they sacrifice innovation to startups who have nothing to lose:

“At the heart of The Innovator’s Dilemma is how a successful company with established products keeps from being pushed aside by newer, cheaper products that will, over time, get better and become a serious threat. Christensen writes that even the best-managed companies, in spite of their attention to customers and continual investment in new technology, are susceptible to failure no matter what the industry, be it hard drives or consumer retailing.”

Career Builders

Career development is a never-ending journey. Good managers are constantly developing their skills and those of their employees, so I think it’s important While Most of these were really good books, but they just don’t relate quite as directly to engineering management. Still worth looking into if you’re interested in software engineering, startups, leadership, and other related topics.

The Effective Executive by Peter F. Drucker

As a knowledge worker, you must spend time thinking, but most managers fill their day with back-to-back meetings. The Effective Executive shows you how to block out time in your week for the important work of thinking and prioritizing things. The ability to do this will make you much better as both an engineer and manager.

Bored and Brilliant by Manoush Zomorodi

This book inspired me to spend one day per month with no screens last year. Time without stimulation allows you to get board and your brain to wander. I found myself making higher level plans, organizing problems in my head, and having a lot of “ah-ha” moments, so I highly recommend this practice. Bored and Brilliant explains why it works and gives you lots of ways you can unlock this boredom as well.

The Architecture of Open Source Applications

As managers, we must care about the long-term success of our projects. This book has stories of a few dozen open source projects , allowing you to hear about the challenges and architectural decisions that they faced as they evolved. You can’t get this level of transparency from most enterprise applications, so for new software architects, this book is gold.

What Color is Your Parachute? by Richard N. Bolles

People in our generation are unlikely to work for just one company their whole life. Job hunting is a valuable skill, and you have to practice and learn about it to keep it fresh. Even if you like your job, it’s not a bad idea to take a couple interviews every year just to be aware of what it’s like.

How to Fail at Almost Everything and Still Win Big by Scott Adams

Adams created the Dilbert comic strip, but his story of being a hapless rebel and entrepreneur is fascinating. Despite many failed attempts, he kept moving forward, and imparts some of the wisdom he gained in this semi-autobiographical book.

Clean Code Series by Robert Martin

If you didn’t read these books as a software engineer, go back and read them now. Clean Architecture is great for higher level project thinking, and the rest of them are great books to recommend to your engineering team. I always give my employees a copy of Clean Code on their first day.

The Checklist Manifesto by Atul Gawande

One of the most powerful tools for organization is the humble checklist. Gwande makes a well-researched case for using checklists in everyday life as well as in high-criticality situations like healthcare and aviation.

“The volume and complexity of knowledge today has exceeded our ability as individuals to properly deliver it to people—consistently, correctly, safely. We train longer, specialize more, use ever-advancing technologies, and still we fail. Atul Gawande makes a compelling argument that we can do better, using the simplest of methods: the checklist.”

Next on my list

My list of books to read is constantly growing, but these are a few of the engineering management books I’m working on next:

If you have other books that I should put on my reading list, let me hear about them on Twitter. I love getting recommendations!

Read more like this in Management, Software Engineering, Books