Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams Book Review
|On any significant size project I am going to have a team of developers reporting to me. Over the years those numbers have varied greatly. I have managed 1 developer and teams of developers. I have the most fun on projects where I have between 4 and 10 developers.|
I also prefer to be partnered with a good project manager or none at all. A bad project manager just makes it harder to keep the team motivated and the client happy. I would say less the 5% of the gigs I have been on have provided a good project manager. 25% of them have provided bad ones, and the rest of the gigs the responsibility fell on me, the software architect.
The point of all this is that my job requires me to manage programmers and communicate to stakeholders effectively. Reading books on project management and general management have not been fun, but has been necessary. I was happy to see one come out that targets more of what I have to do, and that is manage programmers.
Below are the chapters in the book.
1. Why Programmers Seem Unmanageable
2. Understanding Programmers
3. Finding and Hiring Great Programmers
4. Getting New Programmers Started Off Right
5. Becoming an Effective Programming Manager: Managing Down
Insert - Rules of Thumb and Nuggets of Wisdom
6. Becoming an Effective Programming Manager: Managing Up, Out, and Yourself
7. Motivating Programmers
8. Establishing a Successful Programming Culture
9. Managing Successful Software Delivery Tools
In the very first chapter the authors hit a nerve. I went to school for electronic engineering and worked in that field before moving into programming. Because of my work in the engineering field I have always been comfortable with the engineering practices that made there way into the programming field. The authors are however correct when they say a majority of programmers today do not have to know anything about software engineering. They are simply programmers because they decided they wanted to be and were lucky enough to get a job with that title.
The point is that you most likely will not have a team of software engineers. Managing and working with engineers is much simpler that working with the self made programmer that was previously an artist, musician, writer, or any other field. This book helps identify different personalities and offers tons of advice on how to work with them in a positive way.
I wish we could put a law in place that in order to hire programmers an organization must follow the guidance offered in the chapter Getting New Programmers Started Off Right. 80% of my starting week have been a complete waste of my time as well as the organization's time. Rarely are they ever ready for you.
One very cool section of the book is the 60 page insert titled Rules of Thumb and Nuggets of Wisdom. It contain short blurbs and quotes from some of the leaders of the programming industry. Cracking open this section you can lose track of time going through them and thinking about them.
The thing I liked most about this book is that it borrowed some of the best processes in the industry, but is absolutely not process centric. Meaning you'll hear some nuggets of Scrum and other processes, but none of them are highlighted in the book. This book is all about understanding the programmer, your environment, and yourself, and how to make the right decisions given your environment.
My belief is that compiled information is knowledge, knowing what to do with the knowledge is wisdom. I see a whole lot of knowledge these days, but very little wisdom. The authors of this book have successfully compiled wisdom. Reading this book will change the way you work with programmers. Every single chapter of this book is a real gem.
This book will become a classic to turn to over time. Every manager interacting with programmers should read this book. That includes CIOs, Software Architects, Enterprise Architects, and Lead Developers. You don't need to have the word manager or director in your title. If in your role you find you are managing a team of developers, you should read this book.
Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams
For more book recommendations check out my .NET, iOS, and Java Architecture and Development Book Recommendations for 2013