Hasmukh - and there couldn't have been a more apt name for the guy - my manager at Grene, leaves the company today after a year. Bharat, my colleague takes over as head of our team. Both have very different management styles.
Management of a team that primarily develops software is more of enabling your team to do their work. A successful manager makes sure his or her team gets the best possible environment, with as little distraction as possible, to complete their work. A good manager stays out of the way as far as possible. He - and I'm using an entirely random gender here - does not make his team file unnecessary reports and attend irrelevant meetings. These are strictly on a need-to basis.
A good manager understands what each team member's strengths and weaknesses are and makes them work on tasks that he or she are good at. A manager is an interface between the higher echelons of the company and his team. The manager must represent his team's interests to the higher ups. At the same time, the manager must also properly convey the management's vision to his team.
Managers are often responsible for an individual's career growth and that is a very important responsibility. I have seen many managers ruin budding programmers by simply not recognising their talent. This is really unfortunate. Not only are they losing out on a good opportunity to get good work done, they are also causing a lot of frustration in the team
Here's wishing Bharat a good tenure as Head, Solutions Team at Grene!