Many senior developers have faced the classic software career dilemma. Do I go into management or continue down the technical path? Some companies offer a ‘dual track’ where you get to choose one path, but provide compensation advancement in both. Other companies (oftentimes startups) offer a blend, where the managers remain ‘hands on’ and continue to code.
For many of us this is a tough call, since we don’t know what it’s like to manage. Also, we have a fear that it’s a one way path and once we make a decision there’s ‘no turning back’.
I started down the management path about 5 years ago and haven’t looked back since. Yeah, it’s certainly not a cushy job. Occasional I ask myself “why am I doing this?” and ponder going back to coding.
Looking back over these 5 years I can say confidently that I’m happy I made the decision. I’ll try to narrow it down to the top 5 reasons why I get greater enjoyment out of managing vs. coding. Obviously this is just my perspective, and management may not be for everyone. But if you are on the fence, you should think about giving it a shot.
Probably my top reason for choosing management over coding is the massive variety of tasks and skills involved in my daily activities. Every day truly is different.
Within a single day I can be bouncing around between recruiting, budgeting, planning, code reviews, design reviews, retrospectives, 1×1’s, etc. This diversity can be incredible exciting, but it can also be occasional daunting and overwhelming.
As a manager, I still need to keep up to date with all the latest technologies. In fact, I feel that I need to be on top of more technologies than when I was coding. Rather than going deep into a particular topic, I need good breadth across a variety of fields and industries.
This variety brings more exposure to how the business operates. I have increased visibility into why decisions are made, and I find that I now have a different perspective than when I was heads down coding. In general, I get to satisfy my curiosity more by being a manager than by coding.
One of my favorite parts of being a software engineer was that sense of accomplishment I would get every day when I went home. I could see the tangible results of my effort and the impact it had on the product and business.
Oddly enough, the daily impact of your role as a manager seems to be less, but the longer term impact, measured in months and years, tends to be greater. Your decisions don’t often have immediate impact.
For example, if you decide to hire someone, it may take months before you bring them on board, ramp them up, and start to see results. Or, if you decide to go down a particular architecture or framework path, it could take months before it’s implemented and see the benefits.
After 5 years in, I get definitely say that I’ve seen the impact of my decisions, both positive and negative, and they’ve had a larger impact on the company than when I was building features as a software engineer. I’ve seen my somewhat hasty decision to put a person on a particular project blossom into them going in a completely new direction in their career. On the negative note, I’ve seen how particular architecture decisions I’ve made have wasted months of development due to a poor choice. It’s definitely a double edged sword, which is why I often think of the classic spiderman quote:
On a related note, check out this fascinating article in the Harvard Business Review about how Google sold it’s engineers on management.
Another excellent reason to be a manager is that you are actually empowered to make decisions and get shit done. As a manager I have a budget and can just buy things that my team needs. I can make prioritization decisions on the spot, and I can change how my teams are organized and operate. This authority varies wildly by company, and I’ve found the most freedom in startups vs larger sized companies, so your mileage may vary.
I’ve noticed that this empowerment in the office has really had an impact in my life. I’ve stopped complaining about things. You can’t really complain as a manager, since you are the one that needs to figure out a way to make things happen. Complaining does not turn into results. Also, there is usually no one to complain to. My boss hired me to solve problems, and not just bring them to him.
This empowerment throughout the entire day has definitely left me with feeling complete responsibility and control in other aspects of life.
4. EQ vs. IQ
I’m an introvert. There’s a reason why I got into computers in the first place. Management is hard on introverts. You basically spend your entire day communicating with others. I’m drained by the end of the day. Being a manager forces me out of my comfort zone and to grow my EQ (i.e. emotional intelligence).
I need to regularly speak up in meetings, relieve tense discussions, create a sense of urgency, and energize a team of mostly other introverts. Rather than just grow a particular technical skill, I need to round out myself as a person to have success in the office. Luckily it turns out this is just another skill that you can learn, and improve with over time.
Probably last on the list, but yes, it’s true, managers tend to make more than individual contributors. There are definitely technical folks that make more than managers, but they are few and far between. There may only be one or two in the company.
Also, the potential for incentive based compensation grows as a manager. Things like bonuses and additional stock options tend to be greater. And why do they get paid more, well that leaves me to my last point…
But, it’s not all rosy…
Even though overall I believe management is more rewarding, it’s certainly not without pitfalls. The bottom line is that you end up doing all the shit work that you try to shield your team from. Whether it’s difficult conversations, firing someone, challenging a peer, doing mindless admin work, etc., you will get stuck doing it. Now that I think about it, I could probably write an entire post on why you shouldn’t be a manager.
Update: I did! Check out my 10 reasons to stay away from management article.
I’d love to hear what people think. Are you currently managing a team and enjoying it? Have you started down the management path and decided to switch back? Please leave me a note in the comments section!