Thursday, September 12, 2013

Engineering Management - Shaolin Style


A friend of mine just got a well-deserved promotion from code horse to manager. Here are my quick thoughts on making that transition.

The basic idea is that when you are given a little more responsibility, your words and actions carry more weight. For that reason, it is important to be careful about throwing that weight around.

You job is no longer to optimize your output, but to optimize the output of your group. Don't be the genius with a thousand helpers!

In particular, here is some advice to ease into a new engineering manager role:

  • Listen more. There is an expression about argumentative people - "they don't listen, they just reload." Since your words carry more weight, make sure you really understand other people's point of view before you offer your own. Once you wade in with guns blazing, other engineers will be less likely to confront you.
  • Code less. The tradeoff for more human communication is less computer communication. The time you spend helping make other people effective comes directly out of your average daily KLOC. Remember, you are making the team's total output better at the expense of your own output - this will smart a bit at first!
  • Start team building.
  • Stop architecting. If your vote counts for more than other engineers by dint of your hierarchical position, you can win architecture arguments just by yelling louder. To build a real engineering team, you have to separate the team leadership position from the tech leadership position. If you are the team leader, you just can't be the tech leader as well.

The net of it all is to use more influence, less telling; more carrot, less stick; you get the picture!