The journey back to being an individual contributor

A few people have asked me about my recent job title change. After managing an infrastructure team for two years, I switched career tracks back to an individual contribute role. I wanted to share some thoughts about the transition in hope that it might help others in similar situations.

The journey

A few months ago, I was in one of those deep pits of self doubt. You know, the ones where you question everything you say and do. I was getting to the point where I was really starting to question whether or not I was still able to write code. In my first year as a manager, I was able to scrounge time outside of work to write code. But with toddler and a newborn at home, all my free time was spent parenting.

Around the same time, I began reading The Seven Habits of Highly Effective People. Many had recommended the book to me over the years, but I’d just never gotten around to reading it. The book drove me to start looking inwards at what I could control to increase my level of happiness. What did I have the power to change in my current situation? I wanted to write code to increase my happiness, but could not find the time to do it. So I looked for ways to cut out any time-wasting activities that were still in my daily routine. This allowed me to gain back little bits of time that I set aside specifically for programming. Soon I was getting so excited about writing minuscule amounts of code that I would stay up late into the night, waking up the next morning full of the excitement of getting something working the night before.

This was the key turning point. One morning, I started telling my wife all about the mostly irrelevant piece of code I figured out the night before. She made a comment along the lines of not having seen me this excited in years. That’s when I knew something had to change.

The myth

Some believe that moving to management is a promotion. That after being an individual contributor for over ten years it’s the only choice in order to move up. For a long time I believed this as well. In some industries, the management track is directly tied to financial compensation. The more people you’re responsible for, the more money you make. In the software industry, once you reach a certain level in your career, it becomes a set of parallel tracks. Becoming a manager isn’t about moving up in a career as much as it is moving in a different direction altogether. Instead of writing and designing solutions with code, you’re solving problems from a different dimension.

This myth caused me to spend weeks agonizing on whether or not I should have the discussion with my manager about wanting to change track. Was I taking a step back in my career? After all, I was managing up to eleven people in multiple projects at some point. Isn’t that how success is measured? Isn’t saying that I want to write code again like giving up?

Motivation

One of the most common questions I get asked is about what motivated me to switch tracks. Looking back now I realize that there were a few things I know about myself that I didn’t before:

  1. I love writing code. Working with technology and exploring new problem spaces drives me. Enabling others via proof of concepts and building things gets me excited.
  2. I measure my success on what I personally accomplish. As a manager, I viewed my job as enabling my team to succeed. When the team achieved success, I was excited for the members of my team. As folks grew and tackled bigger responsibilities, I was excited for them, but I never really felt a sense of accomplishment from it.
  3. I’m driven to create impact. After many talks with my partner, I was convinced that I could have a greater impact for my organization by stepping away from my current role.

Learnings

Though I decided to step off the management track, I’m happy to have had the opportunity to manage a great team. I learned a ton while being a manager. Some of these are things people told me early on, but didn’t quite register until later. Some might seem obvious, but they’re worth re-iterating.

  1. Stop worrying about writing code. The sooner you can let go of the problems you were solving, the sooner you can start thinking about the new problems you must solve.
  2. Reach out to your new peers for help. All managers were new at this at some point. They understand the challenges of the role and can share valuable experiences.
  3. Give responsibilities to people on your team. It provides them a chance to step up, and you a chance to free up some of your time to look ahead. Owning a problem, product or project doesn’t mean you have to do everything yourself.
  4. Find a way to measure your input and output for the week that motivates you.
  5. Find a good coach. I was lucky enough to have access to some great coaches that helped me work through challenges I faced early on.

The future

Folks ask me whether or not I am giving up on management altogether. The answer is I don’t know. What I do know is that at this point in my career, it’s not right for me. I’m happy to write code and believe this is where I can have the most impact at this time.