Most new managers are generally ill-prepared for the job. This can be especially true at smaller companies. Even if you do get some kind of management training, it’s pretty difficult to picture a training program that would cover all the important things you would need to know to be a great software development manager. First, and most importantly, there are the things you need to know just to be a good manager of any kind, no matter what field you’re managing in. Then there’s the considerations specific to software development management.
Full disclosure, I’ve never had any formal management training through professional courses (though I have researched them a fair bit and become familiar with common syllabuses). I am mostly self taught. As of the time of this writing, I have been managing teams of various sizes (from 4 up to 10) for over 4 years.
I wanted to write a short post on the best resources I’ve found for being an effective software development manager.
Managing the Unmanageable
This has been the best book on software management I’ve found so far. A lot of people will recommend books like Peopleware and The Mythical man month. My experience was that those books were more entertaining to read than anything else, revealing many interesting truths and anecdotes from failed software projects. While there’s certainly lots of valuable information in these books (and I would recommend reading them for perspective) I didn’t find them to be particularly helpful in this regard.
Managing the Unmanageable is specifically about managing software people. It covers a broad range of important topics, including how to manage different types of programmer personalities, how to approach recruiting, and the on-boarding process. It also devotes a number of chapters to the topic of actually managing programmers on an ongoing basis; how to motivate them, and offers advice on how to deal with performance problems. I also like that the book stresses keeping programmers happy and the importance of establishing a great programming culture.
The book is also a fairly easy and enjoyable read, and pretty quick to get through.
First, Break all the Rules
This is a great book on management in general. It takes the approach of studying what great managers have in common. It’s an evidence-based approach based on gallup polling of thousands of managers and employees across a wide range of companies.
Much of the advice turns out to be fairly intuitive; One of the key points is around how to look for and select for talent – but this is talent in a much broader sense. For example, attention to detail is considered a talent. The rationale behind this is that talent is defined in terms of a repeatedly demonstrated behaviour or inclination towards a behaviour. The interesting thing about thinking about talent in this way is that it can open your eyes to spotting all sorts of very important and specific talents, that when combined can be a significant indicator of an employee’s future success in a particular role. Many great behavioural questions can be designed that fall out of this and can really help in trying to identify these hidden talents.
In terms managing the people you have, the book focuses a lot on casting people in the right roles, managing to people’s strengths, and managing around their weaknesses. I think this perspective is really valuable and recognizes the realities of managing teams of people with different levels of capability, experience, and.. you guessed it – talents.
If I was to recommend one book on the subject of management – it might just be this one. As a plus, it’s available as an audiobook so you can listen to it on the go, and is very listenable.
Behind Closed Doors
This book takes an interesting approach to covering the topic. It goes over a hypothetical new manager starting at a new company and how they approach getting oriented in the company and dealing with issues. I did find this overlapped to some extent with Manage it! (see below), so if you had to pick just one, I would recommend Manage it! As it treats the project management subject in depth, and much of the other material is covered elsewhere.
From one of the authors of as Behind Closed Doors, this book is more focused on software project management, but covers a lot of really important information. Every manager should have some basic working knowledge of good project management practices. This book outlines many pragmatic approaches to both approaching projects, but also keeping them organized and on track, based on the authors’ decades of experience managing software projects.
Handling the Difficult Employee
You want to read at least one book that covers this topic in depth. Sooner or later you are going to have to deal with a difficult employee and the earlier you know how to deal with this the better. This one is pretty good. It’s a pretty short book and outlines some of the steps you can take when you encounter this.
Manager Tools Podcast
This is an excellent (and perhaps the only) podcast I’ve seen on management. It’s not specific to software, though it does sometimes relate to technical management and interestingly enough, I heard about it while listening to a software podcast. In my opinion, not all episodes are essential listening, but there are many excellent episodes about common management problems and the advice is practical and sensible. The hosts are very experienced managers and management consultants, and you can tell their advice and recommendations are tried and tested. Highly recommended.
Overall, you will find a fair amount of overlap between management books. Of course, there are some basic axioms of good management, and any good book will cover these to some degree. I tend to read lots of books & resources on a topic when I’m trying to learn it to get a broad range of perspectives and take what resonates with me from each one. I would definitely recommend not reading just one book. If you only read two books, make one on the general subject of management, and one specifically covering managing software development teams.