There are plenty of books on managing people; but there are few books targeting management of software development, and even fewer aimed at people who got promoted into leadership positions with no management skills. I’ve read countless books looking for resources in that area… I can find plenty of books about how to manipulate people or promote yourself (and I’ve had plenty of training to that affect) but those are not the books I’m looking for.
I want real authentic leadership and practical management. Below you will find the best of what I’ve found over the last four years. And unlike some “Best Books for Programming Managers” and “Top 10 books on Leadership” lists you’ll find online… I actually read every book listed below.
I should also note that even if you aren’t in a position of management these books should be beneficial. Whether you have the position or not, everyone has the opportunity to lead.
Managing the Unmanageable
“Most successful programming managers are former programmers: They can quickly grasp whether a developer is on track through the most informal of conversations, without having to ferret out the assessment through long strings of questions that can feel pestering.”
Managing the Unmanageable is the comprehensive handbook to gain a variety of insights and a tool set to manage software development teams. I didn’t find it lacking coverage on any topic.
It rightly points out how managing programmers is like managing artists–programming is a creative job so you can’t manage that the same way you would manage most other jobs.
It goes over how to build relationships with and manage HR, your boss, other departments, etc. How to define developer levels, how not to do incentives (which can often be more demotivating than motivating), job descriptions, how to conduct interviews, build culture, motivate developers, etc. This is a wide book in what it covers. The vastness of topics is unmatched by any other management book I’ve read. It may only devote a few pages to some subjects but I haven’t found an area that it doesn’t cover at all. Even for areas it doesn’t go into great depth it references sources for further study.
I think this is the best resource for a new manager to get a comprehensive overview of every topic related to managing programmers. What I really like about the book is from the experience of the authors it anticipates and provides guidance on a lot of challenges I had to deal with–reading this book helped me proactively plan how to deal with those situations.
For me, reading Managing the Unmanageable is like sitting down at a coffee shop with some seasoned managers and listening to their experience and wisdom. Today I still use it as reference book.
“The major problems of our work are not so much technological as sociological in nature.”
“Most managers are willing to concede the idea that they’ve got more people worries than technical worries. But they seldom manage that way. They manage as though technology were their principal concern. They spend their time puzzling over the most convoluted and most interesting puzzles that their people will have to solve, almost as though they themselves were going to do the work rather than manage it.”
Peopleware: Productive Projects and Teams (3rd Edition) by Tim DeMarco & Timothy Lister (originally published in 1987, I read the 3rd edition published in 2013)
Peopleware, as it’s title suggests is all about the people aspect of managing software developers. It’s not a generic management book. Most of it only applies to managing creative and intellectual workers. It covers why programmers are distinct from and must be managed differently than other types of jobs, such as accountants or manufacturing workers. The book covers topics like the importance of allowing time to think on the job, giving teams a sense of elitism to increase productivity, creating environments where teams can naturally form and jell, the importance of an interruption free office environment, why the surest way to improve productivity is by focusing on quality.
I learned environmental factors for a programmer cause a 10 to 1 performance difference. A large section deals with the work environment. Office design, layouts, how bad cubicles are, the importance of natural light, office size, privacy, etc. This is a timeless classic. It would benefit any manager, executive, head of HR, architect, or programmer (even if you aren’t in a management position, this book will help you manage yourself).
The Mythical Man-Month
“Why is programming fun? What delights may its practitioner expect as his reward? First is the sheer joy of making things. As the child delights in his mud pie, so the adult enjoys building things, especially things by his own design. I think this delight must be an image of God’s delight in making things, a delight shown in the distinctness and newness of each leaf and each snowflake.”
The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition) by Fred Brooks (originally published in 1975, I read the 20th Anniversary edition published in 1995)
This is a collection of essays about managing and organizing large software projects. Most important is Brooks’ observation that adding more man-power to a late software project will make it even later. My favorite observation of his was how the most productive teams are smaller because of the communication overhead, you only get fractional gains by increasing the size of large teams. Although pre-Agile, many of his ideas influenced Agile project management. He was well ahead of his time. This is a classic.
“Adding manpower to a late software project makes it later.”
The Conviction to Lead
“Whenever Christian leaders serve, in the church or in a secular world, their leadership should be driven by distinctively Christian conviction.”
“Leadership is all about putting the right beliefs into action, and knowing, on the basis of convictions, what those right beliefs and actions are. This book is written with the concern that far too much of what passes for leadership today is mere management. Without convictions you might be able to manage, but you cannot really lead.”
The Conviction to Lead: 25 Principles for Leadership That Matters By Albert Mohler, 2014
This was not an easy find. I read fluffy leadership book after fluffy leadership book… and finally read Mohler’s book at my dad’s recommendation. It has far more substance on leadership than anything else I’ve read. Where others give you mechanics, tools and methods, Mohler gives you conviction and motivation based on well grounded beliefs. It is not written just to pastors, nor just to leaders of Christian institutions (although this appears to be the main focus), but also to Christians who happen to be leaders in secular organizations–and that’s quite rare for a book on leadership written by a devout Christian.
Mohler’s book is practical because it provides the foundation for why and how Christians should be leading and the basis for leading in a secular world. I would say the book is primarily written to C-level, but almost all of it I was able to apply to a smaller realm for lower levels of management if I limited the scope to my area of influence. This is a good book for any Christian in a position of leadership.