I have discussed the path to engineering management with a few people in the last few months. Most of these conversations were productive, but some of the statements had me wondering about the misconception folks have about engineering managers. Here is a sample of some puzzling statements that came up during my conversations:
I want to become engineering manager since it seems easier than being an engineer.
I am planning to become an engineering manager within 1-2 years of joining the industry.
I am tired of being on-call. Engineering management will provide me a way out of it while still getting the tech salary.
Engineering management is more difficult than being an engineer because humans are more complex than any technology on this planet.
Learning a new programming language or a framework becomes easier after you have done it a couple of times. Each person however is programmed differently and they don't come with documentation.
Every failure will be yours and every success will be shared.
Shipped that big feature? The team did it! The same issue triggered outages twice even after you made time for the team to fix the issue? As the leader of the team, why didn't you ensure the fix was tested correctly?
You may not be on on-call rotation, but every page has the potential of escalating to you. In other words, you are responsible for the well-being of the systems AND the humans responding to those systems.
Forget about instant gratification and personal glory.
Remember the time when you closed that bug and it felt SO good or when everybody was in awe of your amazing refactoring that made everything SO much faster! None of those will be happening on a regular basis as an engineering manager. Victories will happen, but they won't be as obvious. People who report to you won't openly say nice things about you because they don't want to be seen as the teacher's pet. Your manager would probably be a senior engineering leader with a department to lead. They often won't have time to say nice things about you. Your role will be of a helper who unblocks others, but it often won't be verbally appreciated.
You will work everyday to stay relevant
You won't be successful as a leader if you don't have a solid foundation in software development and a curiosity to learn what your team does. You have to know their struggles, not just interpersonal struggles, but technical ones. You will have to dig deeper to understand those problems including learning about the codebase. You may get lucky to find a company that will make time for learning the codebase, but often you may have to work extra to fill that gap.
The fastest way to lose respect of your peers and reports would be to over-commit because you have no idea how things work. The easiest way to get categorized as redundant by your leaders would be by always having to check with engineers first because you don't know how things work.
In summary, engineering management isn't easier than writing code. Anyone telling you otherwise is either lying or is probably dreaded by their team.
So should you stop thinking about going into engineering leadership role? Absolutely not! We need more competent leaders in our industry. I have a long list of positive things about it. I may write them down at some point, but in the meantime, holler at me if you would like to chat about that or this post!
(p.s. Thank you Schitt's Creek for brightening up my 2020 and this article)