Today, I am not going to go into why you might want to become an engineering manager but I am going to share with you how you can approach this career transition.
Note that I use the word “transition” quite intentionally here. The path to engineering management is not as simple as you may have hoped. In fact, it’s not even a career progression, hence the usage of the word “transition.”
Some tech companies put senior engineers on the same level as their engineering managers for this very reason. Engineering management is a linear and alternate career track to software engineering.
Somehow, in our heads, we have this illusion that once you’ve mastered the technical skills required for your roles and you have been senior engineers for a few years, the next step for you is to become an engineering manager.
Being promoted to be an engineering manager is actually not a step up, nor a promotion. It’s a lateral, separate track.
With that important information out of the way, let’s talk about how you might step into an engineering manager role.
- By building on the skills required for the managerial role (Related article: 10 Important Skills That Engineering Managers at Tech Companies Need).
- By taking on leadership and management related tasks voluntarily, eg: mentoring, facilitating meetings, project management, etc.
- By letting your manager know that you’re interested in a managerial path.
Let me share with you my personal story of how I transitioned from a software engineer to a manager.
I started my career working as a web developer for a small web agency, doing everything from gathering requirements from customers, designing websites in Adobe Photoshop, building backend applications, coding frontend interfaces, to looking after domain name registration, hosting, and so on.
Throughout my career, I’ve had many different job titles that are similar yet different in many ways, such as developer, technical lead, technical director, startup CTO, head of engineering, software development manager, and engineering manager.
My journey to management is not unusual but not one that I had anticipated or planned for. I’ve always considered myself to be entrepreneurial and I had co-founded a startup and ran my own consulting business before, so I always thought I’d work for myself one day rather than climb the corporate ladder and take on a managerial role.
But at one point in my career years ago, I was in a place where I was really excited to mentor developers in my team, helping them with their career development and helping build a good engineering culture for the company I worked for. All those activities made me feel happy because I was feeling like I was making a bigger impact than I had ever made as a developer. Long story short, I took a leap of faith and officially became a people manager.
I found that I really enjoyed the role of an engineering manager because I was able to make a positive impact on the careers of many software developers and strengthen and build on my T-shaped skills, by collaborating across disciplines with experts in other areas other than my own, and deliver business results.
Remember, engineering managers are people managers first and technical managers second. This means your main responsibility is to look after your direct reports, coach and support them in their career development, and challenge them to step outside their comfort zone to grow and excel. It sounds like a hefty goal but it really isn’t. It’s the minimum expectation of an engineering manager.
Another important responsibility of an engineering manager is to build a high performing team that delivers on meaningful outcomes. Companies at different stages of their growth have different concerns and measures of success.
For example, a startup company at its infancy stage may say their measure of success is the number of engaged customers. On the other hand, a profitable public company may say their measure of success is their stock price. Some companies may even say their success is determined by their employee retention rate. Not all success measures for companies are financial, and they can change as companies evolve and mature.
As an engineering manager, you might like to think your ability to deliver quality software through a team of developers is what matters the most to your company, but the truth is it is likely not.
A team of developers could be busy with so many activities — agile rituals, pair programming, estimation and planning meetings, architecture designs, coding, testing, refactoring, and the list goes on — and it’s the responsibility of the team’s engineering manager to ensure those activities contribute towards a desirable outcome for the company. But you can only rally people behind any goal with passion and enthusiasm if you look after them and care for them personally first.
Having horizontally related skills are now more important than ever for engineering managers as technology is the center of our lives and software is used in many industries across the globe. As technology products become more sophisticated and complex, engineering managers with horizontally related skills are a razor that can cut through all the complexity and manage software development teams effectively at tech companies.
Here are ten horizontally related skills and attributes that engineering managers at tech companies need.
- Project Management.
Once you’ve done the above two, it’s time to start taking the matter into your own hands. This doesn’t mean looking for a new job, although it could mean that. But firstly, speak to your manager and let them know your career aspiration so that they can find the right opportunities for you.
While there is no guarantee that your manager will be able to find something for you right away, all good managers will try to help you by providing constructive feedback, advice, and the next steps.
The important takeaway I’d like you to remember is that good engineering managers are people managers and leaders for software developers, who have a strong understanding of technical details combined with competency in adjacent domains.