Almost exactly 2 years ago I was promoted from Software Solutions Architect to Software Development Manager and I wrote a blog post about it here: From Software Developer To Manager. And so, here we are, 2 years later and I'm going back to a technical role. I am going home. At least, that's what it feels like. Hands-on software writing, creating things, making stuff, that's home for me. Management felt like a 2 year stint in a foreign land.

My work is not just my job, it's a part of who I am. I know that's not true for everyone. Maybe it's a huge personal flaw that my own identity is wrapped up in my work to some degree, but it's a real thing. I have to believe in my work to deliver my best. And, when I'm delivering my best work, it's because I believe in what I'm doing. I really want to put something in here about being a part of Generation X, but I'll refrain from that...reluctantly. Okay, let's move on from this existential side-path.

Being a manager. Yeah. It's different. And I don't mean it's bad. It's not. Being a manager is not bad if you have a particular temperament, or, maybe it's a disposition. I'm not sure what it is. I'll put it this way: being a manager of humans is nothing, and I mean nothing, like being a software developer. These 2 disciplines are worlds apart. Like oil and water. Wait, if they're so different, how does a software developer advance their career? That's a real quandary and it's something I addressed in greater depth in the blog post linked above.

Why is it a quandary? Because once you reach a particular level in your career as a software developer, where do you go? You're a Senior Developer. No, you're a Senior Solutions Enterprise Architect Megla-Monster of Awesomeness! Now what? Here you have the technical chops to make the company massive amounts of money. Your product knowledge combined with your technical abilities make you invaluable. You're a real rock star (I hate that term, along with ninja). How do you advance? Ah, yes, go into management. Of course. It's just natural. That's the path you should follow. Hey, that's what the Old-Schoolers would say. It's proper and respectable. But is management the right path for you?

I sure thought so. With some trepidation, I accepted the position that was very graciously offered to me. I mean, these people, my boss, other managers, my colleagues, they all approved. These people, people I respect, they considered me worthy of being in charge of the entire software operation of our company. Wow. Now, you'd think that would be an ego inflator. Nope. That didn't happen. The fact that these people considered me worthy of such a high position humbled me. It humbled me to the core. I felt a huge weight of responsibility and it never left me. It still lingers.

From that day forward, there was pressure. This pressure wasn't like software-deadline-pressure or gotta-learn-the-latest-framework-pressure. It was different. I was out of my element. What does a manager even do? You know, that guy, the pointy haired manager, what the hell does he do all day? After 2 years of being a manager, I'm not sure I can tell you what I did all day. I can tell you this, I was busy all day long. Very busy. But what did I produce? What thing resulted from my daily efforts? I'm still not sure. And that's the problem, at least for me. As a manager, you're constantly putting out fires, setting priorities, planning, scheduling and other stuff, but what does it amount to? What can you point to, at 5:00pm on a Tuesday and say, "I did that"? You can't point to any one thing because your work is all long-term.

That's not to say I didn't do anything. In those 2 years, I hired several great software developers and retained the ones we already had, maintaining a very low attrition rate. I believe that's one of the most important functions of a manager. I also oversaw 2 very large projects that improved considerably over that time (because of the great developers). There were many positive aspects to that role, but I never felt like a great manager.

Great managers are extremely valuable. They're force multipliers. Over the course of my career, I've had some great managers and they where clearly in their element, doing the thing they were meant to do. I never quite felt that way. Initially, I thought stepping down would be hard, involving some ego bruises, but it ended up being really easy. It was especially easy because I have a boss who also recognized that my value to the company is greater in a technical role than in management. He was understanding and willing to allow me to re-assume my previous role. That was great.

Now I'm back to writing code for a living and I couldn't be more excited. But, this post isn't meant to dissuade others for going into management. It can be a great move and opens a lot of doors. If you're thinking about getting into software management, I have 2 valuable sources of information that I found helpful as I embarked into my journey to that unfamiliar territory. Take a look below:

  • Marcus Blankenship: This guy is dedicated to one thing and that's training and advising people who manage software teams. He puts out lot's of content including YouTube videos and a great email list.

  • Michael Lopp: Also know as Rands in Repose. He's got a blog that's seemingly endless, full of great advice and he knows how to write well. He's also got a few books out. I read Managing Humans and it was great.