Don’t forget what it’s like to be 10
This post is part of my series on Managing Developers – How not to suck
Remember what it was like when you were 10 years old? I do. In the summers our mothers kicked us out of the house in the morning and didn’t expect us home until dinner time, or later. We spent all day riding around on our single speed bikes causing minor trouble. We usually had lunch or dinner at the friend’s house we were closest too when hungry; our mothers treated us like a pack of wolves. We found cool junk, built forts, had dirt clod fights; shot each other with BB guns, swam in the pond, fell out of trees, blew stuff up, shot turtles, played in the mud, and got chased out of vacant lots by old men. It was a blast.
I often ask people "Do you remember what it was like to be 10?” By far the most common answer is something like ‘No, not really…” Bummer.
This applies to development managers too. I often ask them “Remember what it was like to be an individual contributor” or "a new developer on a team"? The usual answer is "no, not really", or something worse – a bunch of hand wavy manager talk. Bummer.
This is a huge problem – especially for first line managers who often forget this stuff the day they are made a first line manger. Its like they went through a manger brain wipe in some evil lab.
If you don’t remember what it’s like to be an individual contributor then how can you manage them? Forgetting this leads directly to many dumb manager mistakes (many of which are discussed in these posts).
Do you remember how interruptions screwed with your concentration? No? You should. Context switches and interruptions are disruptive and expensive when a developer is in the middle being thoughtful and creative.
Do you remember how annoying it was to go to poorly run meetings with no agenda, where nothing was discussed that pertained to you, or where the meeting always resulted in ‘action items’ consisting of needless bureaucratic work?
Do you remember how disruptive it is to have your manager, or your manager’s manager ask "are you done yet", ever time they saw you?
Do you remember that its really hard to predict how long some things will take? Bug fixing is a great example. Managers ask “When will bug 2372 be fixed?” The developer thinks “Man, I don’t know, if I could tell you when it would be fixed, I would know how to fix it. If I knew how to fix it, it would already be fixed!”
Do you remember what it’s like for everything your manager asks you to do was of the "highest priority" or needed to be done with the "highest quality… tomorrow!" ?
If you don’t remember what it is like to be an IC, you will suck as a development manager no matter how awesome you are at everything else.
So, don’t forget what it’s like to be an IC; don’t manage your team… help your team. Your job isn’t telling them what to do. 80% of your job is understanding what your team does, and what they need to accomplish their job; then helping them do it.