mrkrstphr's blog

twitter github

Managers are not Coaches

Posted on 20 Jul 2012

While at a training seminar this week, I overheard one of the participants, during a discussion, mention that he was a manager of software developers. He quickly corrected himself saying "I'm the coach." Apparently he didn't like to be referred to as management and the term "coach" seemed to tickle his fancy. This statement literally left me  flabbergasted. To me, this translated as "I'm a micromanager."

Software developers - and I'm sure many other professionals - don't need coaches. This isn't Little League. Software developers went to school and were trained in their art. They don't to be coached to perform their daily duties. They already know what they're doing, and if they don't, you shouldn't have hired them or have done a poor job getting them the proper training. They don't need someone sitting over their shoulder telling them what play to do next or telling them how the system is going to react.

The Offensive Guard

What developers need from a manager is an offensive guard. Someone who is going to keep other people and other issues out of their way so that they can do their job and advance the ball down the field toward the end objective. They need someone who can take care of impediments for them so they don't have to, regardless of what those are. They need someone to get all obstacles out of their way so that they can continue to do what they do best: sit down, write code and architect the system.

The team aren't servants of the manager, the manager is a servant of the team. The butler of the team. Someone who performs actions and does the dirty work to keep the team focused on what they do best, and focused on getting their tasks done.

The Cheerleader

Developers, and I'm sure just about every other type of worker, needs in their manager a cheerleader. The best managers spend a lot of time cheerleading. Someone who cheers and congratulates them on their accomplishments and when they meet their goals, and someone who uplifts them when they don't meet their goals (as long as it's not in an annoying way). This cheerleading extends not only to giving high fives for accomplishments, but also selling the team to the rest of the organization. The managers job is to sell their team to the rest of the company by highlighting their successes.

After a failure, when things have hopefully turned around and corrected themselves, it's the managers job to sell and cheer on to the rest of the company how well the team solved the problem and rebounded.

I've been coached before, I've been micromanaged before. I can tell you first hand that it sucks. My no longer being with that company is a testament to that. People need to be treated like they're the experts. Not some football players who can't figure out the play on their own. And they need to be rewarded and congratulated for their successes, beyond just earning a paycheck.


The Clean Architecture in PHP

I've written a book on the Clean Architecture in PHP, which covers how to cleanly organize and decouple your code in a way that prepares it to survive and be easy to maintain for the long term.

Check it out!