As your manager, my job is NOT to:
- Tell you how to build something
- Define the structure of your tests
- Describe for you what you should be doing in any given moment
- Mediate every technical dispute
All these things are about being the "parent" of the group. They're micromanagement at its best. For me, management is really more about getting all the obstacles out of your way.
As your manager, my job is to:
- Get the resources our team needs, including the money to buy those resources
- Point us all in the same direction so we're all marching toward the same goal
- Hire really smart people who each think about problems a little differently
- Help remove obstacles
- Be a source of ideas and thoughts about what to do and how to do it
- Provide the tools to resolve disputes on their merits
I finally decided that my job is a little different than I had thought. I don't actually manage my team. I manage my team's environment.
In the end, this helps me manage a much larger team effectively. I am not the decider (apologies to George Bush). I'm merely the one who makes sure that everyone can be the decider. I don't have to manage every detail; I just have to build a team that lets me know what details are important.
I'm most effective when my team is telling me what to do, not the other way around.