Management… the term alone is enough to send shivers down most developers backs. It evokes visions of meetings, Power Point presentations and schedules. Maybe even a Dilbert comic or two.

Between contract work and full time work, I’ve worked at a lot of places. There have only been a few that I can say I really loved. Interestingly, the characteristic that all of those places had in common wasn’t interesting work or free food or a ping-pong table. It was my managers.

There are good managers and bad managers, and most programmers can say that they’ve worked with a representative from both groups at least once. However, there’s also a class of top-shelf managers, and they’re the ones I’m talking about here. They have the ability to lead a team, and at the same time make you feel like you’re one of the most important people on it.

Quarterback vs. software manager

Whether you like him or not, most of us (at least in the States) know who Tom Brady is. I wouldn’t normally look at him, or any sports star, and see a clear comparison to the world of software development. However, I recently read an article in Sports Illustrated by Ross Tucker about his time spent playing on the Patriots with Brady:

During my time in New England I worked as a backup lineman and often had to snap to Brady while playing center. In spite of all of the other chaos that he had to sort through, he always found the time to look me squarely in the eye and say, “C’mon Ross, me and you, let’s get a great snap first.”

I never wanted to snap a ball so well in my life.

I was a veteran in my fifth and sixth years in the league while in New England and I had started over 20 games, but Brady’s ability to single me out and make me feel important for the success of the play was unlike anything I had experienced.

That’s powerful stuff. I instantly recognized it as the common characteristic of the jobs I’ve loved working at… managers that practiced the same philosophy as Tom Brady. After reading this, I realized that the need to be recognized as an important part of the team is something universal, regardless of your job or your level of experience. It’s about taking people who work hard and finding ways to make them feel important to the team effort. That includes contractors, junior developers, everyone on the team.

So managers, listen up! Yes, programmers like free food. We like the latest and fastest computers. We like ping-pong and pool tables and a fun atmosphere to work in. But most of all, we like to hear that our ideas are important… that our work matters. So often, we are just looked at as the staff that makes the requirements happen. Sometimes it can seem like we are simply a means to an end, but we are so much more than that. Software developers are creative writers; the designers that make your applications work, the same applications that run your business.

If you give a development team a set of requirements, you hope to get an application that meets those requirements. However, when you let the developers participate in the creative process, and make them feel like their contribution is needed, you’ll probably find a development team that will think up and implement features you couldn’t even dream of. All it takes is trust, and an occasional reminder to development that they are an essential part of the process.

The free pizza doesn’t hurt either…