Management as a service

By AKM
July 14, 2011
My personal views on how a manager should lead and be viewed by the team members.
Lead, and   
create leaders 
Lest you fall 

They build 
On the wheel 
You keep rotating

It is said that the Chinese log pullers on the Yellow river employed a person to whip them to increase their efficiency. Although most likely, it is not true and just an urban legend,  it is an apt metaphor for how a manager should be seen by the team. The team should employ you, the manager, voluntarily because having you improves their performance.

I had been a software engineer under various managers in various companies and in time (as it happens), I found myself a software engineering manager of a small team. When I started, my biggest question to myself was: How can I avoid being one of the PHB. What could I draw from my experience as an engineer to avoid that fate. Ironically, it was another manager who provided the advice which I tried to follow: management as a service. 

You are taking care of the mundane and boring work so that developers are free to focus on their work - Joel Spolsky on stackoverflow podcast.

To make the idea a little bit more concrete, here is a sample of kind of work a manager should be doing: 

  • Provide a vision and continuously refine and reiterate it so everybody in the team knows what is their goal that they are working towards 
  • Keeping the team motivated
  • Remove roadblocks. Every team faces road blocks in their daily work, for instance, the place is too noisy, or other teams are not being helpful, or customer data for test is not available etc. It is then the manager's job to solve these things.
  • Understand the domain - if not at an expert level, then at least as an acquaintance. Your team may also want your advice on things like what test framework to use, or how to cope with a slow developer who is slowing everybody else down, or how to cope when scrum doesn't fit in with a particular developer's style, etc. Again its the manager's job to fix and answer all of these. 
A good manager should be able to figure out that a problem exists before others point it out. In short, have empathy for your team members while keeping an eye on the overall team's productivity.

On the flip side, there are things that a manager should not do. For example, getting way too involved in the day to day work hinders the team's ability to learn and grow. So, even if you feel like you could do something yourself better and faster, it is better for the team's future to let them handle it as far as possible.
/ / / /