In my previous article, Top 5 Reasons to Choose Managing Over Coding, I laid out my top reasons why I choose to be a manager rather than software engineer. However, the management role may not be the best option for everyone. In fact, oftentimes I wonder if I even made the right choice myself! In this article I’m going to lay out the counter-argument of why you should continue coding and stay away from management altogether.
Here are my top 10 reasons why I think you may want to stay on the technical path:
Overall I’ve found that being a coder is less stressful than being a manager. Basically you only have to worry about your own problems and the issues of the people you interact with directly. This exponentially increases as a manager. For example, if you manage 10 people, you have to deal with 10x the number of problems of a single engineer.
In general, as a manager I’ve felt that I’m often ‘on my own’ in solving problems, vs. being able to ask for help as needed when I was an individual contributor.
As a Director of Software, managing a 20 person team, I’ve found that roughly 25% of the problems I deal with are technical, and 75% of problems are people related.
Politics tend to be less of an issue within your department, where you can manage by authority, and more about how you interact with other departments and the executive team, where you have to manage by influence.
One of the biggest challenges I’ve noticed is that you have to understand the motives of people you are interacting with. Oftentimes people put their own career aspirations above the company’s best interest.
It is tough to not get emotionally involved in these relationship issues, which can feed back into #1, more stress.
Yes, you will have to deal with some politics as a coder, but you tend to be mostly in control of your own destiny. Management takes politics to a whole new level.
3. Less Rewarding
As a developer, you can directly see the impact you are having on a company, usually on a daily basis. You will design and implement a feature, watch it be deployed into production, and then see the customer feedback. It is a very rewarding feeling to actually have tangible results from your efforts. This feedback loop was one of the best parts of the job for me when I was coding full time.
As a manager, your daily impact is much more subtle. New initiatives and processes that you work on can take weeks or months to roll out. Often you will need to promote your initiatives and constantly remind everyone of them, to get any recognition.
4. Other People’s Problems
I mentioned something similar in the Stress section, but this one deserves it’s own call out. As a manager, you have to listen to everyone’s problems. I’ve had people tell me about health issues, money issues, family issues, etc. This is on top of all of their work issues. Usually you will have to learn to become desensitized to this and emotionally detach yourself, otherwise it’s another increment to your own stress levels. It’s important to show empathy and establish and open line of communication with your team, but sometimes people just share too much.
Also, no one cares about your own problems as a manager. Maybe I’ve just had a string of bad luck, but since I’ve been a manager I’ve noticed that all of my managers have much less bandwidth to help solve my problems. In fact, mentorship in general is in short supply once you enter the management chain, unless you are lucky enough to work at a larger company with formal programs.
5. It’s All Your Fault
Somewhat related to the previous one, as a manager, you take the blame if anything goes wrong on your team. Many times these issues are totally out of control, but you’ll need to get up in front of everyone and take the hits. In addition, you should take no credit for the good results of your team. This environment can compound with the lack of tangible impact and lead to a less rewarding job.
6. Remote Work
Working remotely really isn’t an option as a manager. This may be possible if you are leading a small team and are still mostly hands on, but if you are exclusively a manager, you are probably going to have to work on site.
As a manager, one of your most important roles is to ensure rapid communication flow across the org. I spend almost all of my day in meetings: 1×1’s, design reviews, planning, customer meetings, etc. Throughout all of these meetings I try to keep my laptop closed and be engaged. Unfortunately this means I’m responding to text’s and slack messages as I run between meetings. There is literally no down time. Then once I get finally home at the end of the day, it takes a couple hours just to catch up on email. I’ve found that I’m basically always ‘on call’.
This one may surprise people. On the surface, you command a higher salary as a manager. However, given the extra hours you will be putting in (see previous point), your hourly rate can often be lower than a principle level developer salary. Also, many of my friends who do software consulting make significantly more than the typical manager salary.
I’ve been reading this book, Nomadic Developer: Surviving and Thriving in the World of Technology Consulting, which goes into detail on how to be successful at software consulting. This may be a more lucrative option I pursue in the future.
9. Future of Management Role
Many companies are experimenting with changing the role of management, with flat structures, distributing responsibilities to team members, etc. For example, check out holacracy. Also, check out this HBS article on how Google experimented with removing management here. In general I’ve found that I’ve had to taken on more responsibility and wear more hats as a manager over the years, and none of the items above have changed.
It’s not very clear what the future holds of our role, but the need for coders will surely remain strong.
10. The Chopping Block
If dealing with all of the above wasn’t enough to scare you away, here’s the real kicker. You have absolutely no job security as a manager. In fact, you have much less security than any coder on your team. I’ve noticed that all executive’s tend to want to ‘fix things’ or put their stamp on the org structure. All it takes is one new executive to come in, look at your background, and determine that he/she needs to shake things up. Also, there tend to be less management positions available in the market, so you’ll have to be willing to take a less desirable role, or be open to moving when it’s time to find a new job.
Wow, I hope these article didn’t seem too negative! I just wanted to shed some light on what the environment is actually like as a manager. If you are still interested, I don’t see any harm in trying it out, you can always go back to coding if you want to.
If you liked this article, please sign up for my mailing list on the right to be notified of updates! Also, please share your own management stories in the comments below!