I have three roles. I code about half time. I'm project manager. And I'm team leader. Of these the hardest, most exciting, and most productive role is team leader. And yet I've only recently acknowledged to myself that managing programmers is what I do.
If asked "What are you?" the reply that comes most naturally is "a programmer". I've spent fifteen years working as a programmer. That's about half my working life. In terms of my attitudes and especially my cognitive style, I was a programmer for the other fifteen years, and always will be. But writing the code is no longer the hardest part of what I do.
Is this just my blind spot, or do we face it as a community? There must be more than one line manager for every ten programmers. But compared to the flood of literature on programming, there's little on managing programmers.
I'm writing this half way through some team training on TDD. Some team members are taking it on board, some are resistent. One thing that is noticeable is that none – apart from me – are accepting a share of responsibility for the outcome that the training has for the team as a whole. This is the highest leverage activity available. In relation to John Bennett's article [1], the best advice I know is "step up to the plate".