Managing Developers – How not to suck

I’ve been a development manager for 15 years. I have had the privilege to manage some great people – many of whom have become lifelong friends. I’ve also managed people I never want to hear from again. I’ve had some good mentors along the way and I’ve worked for some great mangers, a couple of crummy mangers, and one psychopath. It’s been both a rewarding and challenging experience. People who have worked for me tell me I’m a pretty good development manger.

Along the way, I’ve gotten to know many other development mangers. I’ve seen a few really good ones, and many bad ones. I have enjoyed working for a world class manger at Microsoft. I’ve also seen a couple of mangers who have been fired for how badly they manage people.

Managing developers is really hard. Why? Because software development is fundamentally a creative activity, like music, art, architecture, math and writing: Yes, yes yes…. there are strong engineering and scientific aspects to software development. Good engineering, and sometimes a scientific approach makes good developers better. But at the end of the day writing good software is a creative exercise and managing creative people is simply hard.

We pay developers to do two things: think and be creative. Good thinking and being creative cannot be mandated, both must be enabled. 80% of a development mangers job is enabling people to do their best thinking, and be creative, with good continuity over time. Its is impossible to plan, manage or schedule thinking and creativity.

The other 80% of our collective job is shipping stuff. At some point in time we need to ship our software to the people who will use it. Shipping can be engineered, planned, scheduled and managed. The challenge is that enabling people to think and be creative is requires a very different skill set than shipping.

If you want to be a good development manger, then your first task is to simply not suck. Sucking at some management aspect is like a golfer who can’t putt. A golfer can have a miracle drive, long and straight, a great approach game, but if they can’t putt – their drunk buddies who can putt will beat them.

9 Responses

Another reason it is hard is because, more than likely, the developers are better at what they do than you, as the manager. Once a person steps out of the development roll, they immediately begin to lose touch. The real job as the development manager is to facilitate and stay out of the way as much as possible. This is very difficult to do as managers want to “be in charge”. Sadly, management is a necessary evil in organizations. Mainly because of how they are structured. My first experience as a corporate developer was in a Self Directed Team. We were the only one. But we were the best team. One of the big reasons was because we were responsible for us. We did have a manager, but his job was the money and other admin tasks. Sadly, I think that job ruined me.

I agree entirely that development is a creative process. In my career I have been lucky enough to move frequently between hands-on development and managing development teams.
The key is, as Mark states, when managing your sole job is to remove barriers and enable the team to do their job. Switching to this mind set, if you’re a developer yourself, is really hard, as you will tend to want to solve the interesting problems rather than deal with the boring reporting and paper work.

In recent years the role of development manager has become even harder as you find yourself managing distributed teams located in a different part of the world and on different time zones.

This next statement will be contentious but my experience has seen it proved to be accurate.

Outsourcing development seems to have led to the lack of creative thinking. Although the developers working for a vendor are capable of creative thought they are trained not to exercise it! Therefore development managers managing outsourced teams tend to have to think for them, meaning they are actually developing and managing. This leads to either poor development, poor management or psychosis!

Absolutely agree with your statement about outsourcing. All too often Developers are considered expendable or unwanted overhead in companies that don’t specialise in IT and it’s typical that the directors often get the itch to outsource to India and then regret it later for the lack of creativity it creates. I wonder what these same directors would say if someone suggested outsourcing their ‘creative roles’?

The more I watch the situation from the tech lead side of the fence, the more I believe a development manager earns their dollars by the way they deal with the mercurial nature of product management and the executive. If the company is flailing about, searching for a strategy, then keeping a dev. team on a steady course is a very difficult task. A smart team will be wise to the issues in senior management and the dev manager will have to paper over te cracks.