I Code, Therefore I Am

Last modified on March 2nd, 2008

Tonight, while sitting at home on the couch, I was reminded of a conversation I had last week with someone that I hadn’t talked to in quite some time. That person was someone I used to hang out with quite a bit in university, but haven’t really seen that much of in the last few years. We both somehow ended up in software development, although I’ve stayed more along the lines of developing software while he has moved on to managing a small team of developers.

The thing is, I left the conversation somehow being made to feel bad that after eight years in my career I haven’t advanced to full-time management, something this person moved into a few years ago. When I asked him if he still coded, he basically scoffed, implying it was basically beneath him now.

I’ve actually been in charge of people a few times in my career. Back in Ottawa, I essentially was responsible (at least in terms of training and safety) for an entire shift (think 40 people) of people assembling fiber optics components on a line. In Vancouver I’ve also led a small software team before. I have no problem running a small team, I just don’t particularly enjoy doing it full time. To me, it’s the software equivalent of directing traffic. Sure, you make sure order is maintained and people get to where they’re going without crashing, but you’re still stuck in the middle of the road wearing some lame orange jacket with a whistle rammed in your mouth. In fact, I don’t think any software manager can truly be effective if they don’t dabble in code from time to time, or make a reasonable attempt to keep up to date on what’s going on in the industry.

And to be honest, I like getting down and dirty and writing software. I enjoy coming up with difficult problems and trying to devise elegant solutions. I like that I keep myself sharp and can easily create in code basically anything that I can imagine in my head. In contrast, I just wouldn’t be happy at this point in my life with my feet up on a desk staring at Microsoft Project all day. I think it’s a mistake to assume that the end-game for all developers is a management role. Not all artists want their own gallery — sometimes it’s enough for them to just sit and paint.

Over the years I’ve worked with a few managers that I’ve had a great deal of respect for, and a few that I’m glad I’ll probably never see again. You see, my idea of an ideal manager is a person who can do almost everything I can, only better. I’m sure lots of people would read that and disagree, but some of the most productive (and enjoyable) teams I’ve ever been on have been when the people in charge were basically technological rock stars. These are people who instilled confidence in those around them, helped develop skills within the team, and could offer reasonable solutions to problems as they arose. They also knew enough to trust the people underneath them, even if that trust led to the odd mistake. That’s part of learning, and part of life.

But alas, those managers are few are far between these days. Most of the time at large companies you’ll encounter the dreaded middle manager, a person who’s sole role is to proxy information around the office, to turn short emails into long meetings, and to keep most people just motivated enough to not quit. The problem at these companies is that a) it’s hard to get rid of people and b) you need good people doing work. Those two constraints basically mean that large companies are forced to promote incompetence, people who are content to be paid a lot of money to not do anything of value. And maybe that sounds appealing to some, but I could never accept a position where I didn’t actually feel like I was contributing my worth. It would just somehow feel like I was being totally dishonest with myself.

Which brings me back to that conversation I had. I have no problem with management, I just don’t think it’s for all people. Nor do I think anyone should judge their career solely by how high up that ladder they climbed.

6 responses to “I Code, Therefore I Am”

  1. Beth says:

    Good for you, Duane, for knowing what you want and not letting other people define “success” for you! I agree completing – not everyone wants to be a manager and it really seems stupid to spend your career learning how to do something (in your case, to code) really in order to strive for a job where you don’t do it anymore. I have to wonder if this person wasn’t looking down on you for not being a manager because of his own insecurity – people often try to make themselves feel better by putting other people down. Sad, but true.

  2. Dale says:

    Here here! Cheers to that brother.

  3. As someone coming from purely development to basically full time management… I totally agree with you. They’re two very different things, and IMHO coding is the more difficult of the two. Anyhow… after doing this for 3 months now the coding itch is starting to come back so I’m trying to find a few hours a week to start hacking on code 😉

  4. Duane Storey says:

    I think if a manager could make 30 mins every day to keep up to date, or like a 10%-20% project to do on their own, then it would be for the better. I’m like you, I’d be itching to code.

  5. Andrea_R says:

    okay, you’re starting to sound like my husband. 🙂 He’s been a programmer for almost 20 years and has refused to move up into management. At least full time anyway. He’s done some management of small groups but still been part of the coding process.

    The biggest down side is the managers get far better pay (and for what I sometimes hear him ask…). But he’s happy coding.

  6. Duane Storey says:

    If he’s good at what he does, he should ask for money if he thinks he deserves it. Most companies want to keep good employees happy.

Leave a Reply

Your email address will not be published. Required fields are marked *