I have worked with many managers over the years. Some of them I have found inspirational, others absolutely unbearable, but I’ve tried to learn from them all.
So, what is it that makes a good manager?
Well, here’s my 5 point score for ranking managers:
- Understands people
- Is one step ahead of the team
- Organised and can handle interruptions
The first quality I’ve identified is the ability to understand people. Management is really all about people, so a good manager needs to be able to work with other people. When managing developers I believe empathy is the best approach, you must be able to see the world from their position (and developers can have some odd views on the world!). However, empathy is not the only way to be a good manager. I have seen several great managers get the tasks they want doing using psychology and salesmanship. They can find a problem and sell a vision of how to solve it that the team will follow. This is a good technique to have available, but as soon as someone sees through the sales process or the vision you sold them turns out to be a lie then you may never gain their trust again. So use this with caution and only when you also truly believe in the vision as well.
The second ability I’ve recognised is in being one step ahead of the team. As a manager one of your main responsibilities is to keep your team moving forward. You should be clearing the roadblocks, identifying the risks to progress and trying to remove them. To do this you need to be thinking about them before your team runs into them. Of course some problems are going to come from nowhere and no amount of planning and forward thinking is going to help you. In this case, you need to be available to handle interruptions and think on your feet to deal with them. Keeping organised is going to help make sure you don’t miss any of your commitments and actions. I’d definitely recommend something like GTD for this.
A manager has to be incredibly determined. They carry the weight of the team and need to drive it forward in the most difficult of circumstances. If they lack determination, the team will lack determination. This leads to an acceptance of second best, and can quickly degenerate and destroy the team. For more information about Broken Window Theory see this excellent post on Coding Horror.
Note that I’m not advocating blind faith. Projects can and do fail, and recognising when they do is a skill in itself. Continuing a Death March is no fun and one your team will definitely not thank you for. You need to be determined enough not to accept defeat at the first hurdle, but not so determined that you waste time chasing a lost cause.
The final attribute that I think is essential is honesty. If you are ever caught lying then all trust you might have had will be lost. Without trust you are going to struggle. Trusting your manager frees you up to simply get on with the job you should be doing. Distrust leads to questioning every decision they make and is definitely going to distract from whatever it is that you are trying to achieve. So a team that trusts its manager can focus, a distrusting team cannot.
So, there you have it, 5 qualities to look for in a good manager. There may be other things that you also think are important, but for me, these are the 5 things that stand out. Why not let me know if you think I’ve missed something or you disagree with any of the 5 I’ve chosen?