In the last couple of weeks I've been reading two books that I hoped would help me with my role as a practice lead.
One of them is "Debugging Teams" by Brian Fitzpatrick and Ben Collins-Sussman published by O'Reilly. It is a small book of around 150 pages, filled with practical advice on how to make successful teams that work and collaborate together. When I started reading it, it reminded me of a book I read a year back called "Team Geek". Of course, I missed the clue that "Debugging Teams" is a rewrite of "Team Geek", expanded to include feedback from the first book.
The main advice of Debugging Teams is a simple idea of practicing HRT (Humility, Respect and Trust). It permeates the whole book as a effective acronym to remember during your team leadership work. The rest of practical advices in the book include how to manage conflict, how to make a strong team ethos, how to navigate the organizational hierarchies and so on.
Debugging Teams, in essence, is a great update to an already great book. I'd rate it with 5 stars, wholeheartedly.
The second book is even smaller, but equally useful. It is called "Exercises for Programmers" by Brian P. Hogan, published under the umbrella of Pragmatic Programmers brand. With the subtitle of "57 challenges to develop your coding skills", it is an exercise book that begins with "Hello, world" challenges and ends with complete small projects such as to-do lists or URL shorteners.
I use it now to send bi-weekly code challenges to my team. We then sit together to do a joint code review of each individual solution, in order to learn from it how to improve the code legibility and mantainability. It is equally suitable to use it as a source for code katas, test-driven development (TDD) assignments or self-study challenges when learning a new programming language.
My review of the "Exercises for Programmers" is 4 out of 5, just because many programs are very simplistic and also because several examples in it are maybe too US-centric (use of imperial units and USA-specific jargon) for a universally applicable book. Having said that, it is also a must-have if you want to challenge your (or your team's) programming skills.