DEV Community

Isabel Nyo
Isabel Nyo

Posted on • Updated on

How to Transition From Being a Software Engineer to an Engineering Manager

Take a leap of faith

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.

My Personal Story

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.

Step 1: Make a Mindset Shift

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.

Step 2: Develop Horizontally Related Skills

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.

  1. Analytics.
  2. Finance.
  3. Presentation.
  4. Writing.
  5. Psychology.
  6. Project Management.
  7. Design.
  8. Resourcefulness.
  9. Adaptability.
  10. Entrepreneurship.

Step 3: Pave Your Path Towards Engineering 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.

Author's bio

Isabel Nyo is a technology leader with almost 20 years of experience in the tech industry, with startups to Fortune 500 tech companies. She is the author of The Engineering Manager’s How-to Guide, Nail That Interview and Career Guide for Software Developers. She provides career advice & resources for software engineers and engineering managers via her website.

Top comments (4)

erinposting profile image
Erin Bensinger

I really appreciate this perspective! I've seen far too many talented people struggle in leadership roles because that was the next natural promotion in their career, whether they actually wanted or knew how to manage people at all. Thanks for sharing some helpful tips for avoiding the pitfalls of the Peter principle.

moopet profile image
Ben Sinclair

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.

I've been hammering this point for years. It's so frustrating to work for a company where they've taken that route and the managers have no idea what they're doing. The tell-tale sign is usually that they feel over-worked and mutter about wanting to get their hands back on code whenever you talk to them!

cchana profile image
Charanjit Chana

For me it was something I fell into. I took on more responsibility and became the de-facto team lead over time and then ultimately transitioned across. I can't tell you when the developer/manager switch happened as I always had a foot in both sides until very recently. I always saw it as a far away transition but the timing and circumstances means it all worked out well for me.

I was lucky to have had a good mentor who supported me. If you're lucky enough to be able to lean on someone, I would recommend you take advantage of that. I like to think that I did the same to help my eventual replacement and I plan to do that going forward. A key thing I've thought about a lot of the past few years is purposely making yourself replaceable:

I totally agree with the point about building a high performing team, but that's not always an achievable goal. It certainly wasn't possible in my last role and the makeup of the team wasn't really geared towards that way of working. I couldn't hire so we tried different approaches. First we gamified our development and release processes which helped to improve quality. It's not the right approach for everyone, but for us it worked well. There was no reward or even a concept of being the best. It was all fairly informal, but it meant we had data when discussing team performance and the visibility of another person's struggles was visible to the whole team a lot quicker. Back when we were in the office, we even had a screen with our dashboard up so anyone could see how we were getting on. Again, not for everyone, but for us it worked.

We also had a close working relationship with the support and onboarding teams which meant we really appreciated what customers wanted. Expectations were easier to manage. We worked together rather than battling over who's fault it was.

Anyway, I'm sure there are lots of different ways in which people fall into these roles. I really appreciate the perspective shared here and thought I'd share mine too!

ashishkumar profile image
Ashish Kumar

I loved your journey through... It's quite very similar to mine!