So there’s this funny little quirk about the software development industry (and maybe it’s not unique to this industry… I dunno, I’ve never been in any other) that you get rewarded for being a good developer by being made a manager, so that you can spend all of your time managing other people, and almost none of it programming.
To me, that’s always seemed like a non sequitur; in fact, I turned down a management position at my last job because I would’ve much rather been coding than handling personnel issues all day. However, like I’ve mentioned previously, I just signed on with a startup company, with the understanding that I would be the development manager, and (eventally) oversee a team of developers in delivering product.
A couple of things changed my mind about this (or else I would’ve run for the hills when I was approached about the position). The first was lunch with a good friend of mine, who also happens to be hands-down the best developer I know. For the last four years, he’s been the development manager at a company that produces testing software, and like I mentioned, doesn’t get to program much. Before I signed on, I wanted his opinion, so I invited him to lunch to pitch him the idea behind the startup (also hoping to convince him to come on board), and while we were discussing the merits of the opportunity, I said something like, “You know, if you came aboard, you’d be able to code again.”
I thought that would be a big positive for him, but he said something that shocked me: “I’m not sure if I want to go back to that.” So, we stopped talking about the opportunity, and started talking about managing. He explained that he enjoys it (really enjoys it) because he reports to people who want him to succeed, and who understand that they promoted a developer into a managerial position: they recognize that he’s going to make mistakes, and do what they can to help him overcome them and improve.
He explained that while creative problem-solvers (and if you’ve hung around me for long enough, you’ll know that I think creative problem-solving is 90% of what it takes to be a good developer) can write elegant and beautiful code, they can also use those skills to help others do the same, and can help the project become much more than if they just stuck strictly to development. He ended by saying something to the effect of, “You should reconsider your position on management. I think you’d find that being a development manager can be as rewarding, if not more, than programming.”
So, I accepted the offer, still having reservations about managing a team, planning to stick to programming and see how it went from there. The second thing that changed my mind and really sealed the deal was my boss’s attitude. He values and gives consideration to my input, and trusts me to get things done when and how I say I’ll get them done. That’s huge, and something I’ve never really experienced before.
So at this point, I’ve started to code myself out of a job (though I expect that won’t fully be the case for another couple years), and I’m happy about it. I realize that management doesn’t have to be all pain and dealing with trouble with no return on investment, so that’s pretty cool.