Managing Smart People

All or Nothing

Smart people present both a challenge and an opportunity. They can produce amazing results in short periods of time, defying all reasonable expectations and delivering unbelievable quality. They can also be cantankerous and ornery, refusing to show up on time, slow to get down to business, and in the most extreme cases they will resort to sabotage. So how do you get the best, and avoid the worst?

Like Herding Cats

Managing smart people is a lot like herding cats. As a manager you have a lot of responsibility to to produce results, but seemly no authority to get your team to do what they need to do. Every design decision is challenged, every bit of system architecture is scrutinized and questioned. You have to explain your logic down to the smallest detail and still your developers are not satisfied.

Everybody Sells

I’m in the minority because my job before was in sales, which incidentally is a lot like being a manager. You are responsible to produce sales but have zero authority to force your customers to buy. This forces you to align with your customer and use your expertise and products to help them meet their goals. Or, you fail and get fired.

Sales is just convincing people to do something when you have no authority to make them.

Authority is Toxic

I firmly believe that it’s important to treat your development team like they are your customers and concentrate on defining goals rather than defining how you will meet those goals. I’ve seen over and over again where a manager will get impatient when their team demands an explanation and just say,

…because I said so, now DO IT!

If you do this to your team you will pay the price for a long time. There is no better way to make them hate you than by forcing them to do something “your way”. Your “authority” is an illusion. At the end of the day you are just a person and they are just other people. You don’t own them, and you can’t treat them like you own them anymore than some random person on the street.

Never Define the How

With my team, I never force them to solve a problem in a specific way. I always let them choose the ultimate direction they take with the work. I’ve found this approach generates the strongest commitment from the individual developer. Our team thinks nothing of putting eighteen hour days for weeks at time to deliver a solution to a business problem because everyone feels like they had input in the solution and they feel personally responsible for it in a way that I would never be able to demand from them.

Sometimes the developers will ask me how they I think they should solve a problem and I will always offer any advice I can. We don’t always agree, and when the developer chooses to act contrary to my advice, they work with more diligence than at any other time. No one wants to be the one who took a stand out of ignorance and failed to deliver.

If you take this approach you can not take it half heartedly. I don’t define specific hours for our developers, we don’t have a limited amount of vacation, and yet they show up on Saturday and Sunday when I need them, without me ever having to ask for it.

We are not Unique

Some of my peers question my approach because they don’t trust their employees to come up with as good of a solution on their own. This is completely wrong. I can’t even count how many times my team has come up with a much better solution than I had on my own. If I had forced them to implement my specific plan we would have delivered a worse result.

I can say with confidence that if your team trusts you, and you know they are smart, they will always come up with at least as good of a plan as you did. I don’t think my team is unique in some special way that allows us to operate this way. I think anyone can do it.

If you manage smart people, what do you think are the most important things to keep in mind for managing them? If you are developer, what do appreciate most about your managers, and what drives you crazy?

comments powered by Disqus