Blog post header image

From Code To Coach: Essential Skills For Aspiring Engineering Managers

I was recently asked what I thought were the most important skills/traits an engineer must have before considering becoming an engineering manager. I did not have the time available to answer the question in full, so I am following-up today to make sure I answer in full.

Two years ago at the peak of COVID lockdowns, from the comfort of my home office setup in Berlin, I gave a talk to software engineering students at Strathclyde University over Zoom. Last week, I was invited back again and this time I had the opportunity to address the class in person.

Less of a presentation and more of a tutorial, I ran an interactive session within which I asked the students to solve a common problem faced by engineering managers. As you'd expect, I left time at the end of questions. One question was:

What are the skills/traits an engineer must have to consider becoming an engineering manager?

I did not have enough time to answer this question in full. But today I do!

On Becoming A Manager

Before I answer the question, I think there is some value is discussing engineering management as a career choice. Because at the heart of this student's question is something that really needs to be said aloud: engineering management is a very different career path from being an engineer; it's a totally different function to the business. So engineers really should reflect carefully on if this move would be meaningful to them. That said, the most effective managers I have worked with all started out as individual contributors and, for the right individuals, the switch from IC to manager can open up huge career possibilities.

By making the chance for engineer to engineering manager you basically become "junior" all over again. This is something I found difficult and stressful. It was only when, through practice, I had my head wrapped around the fundamentals that I started to enjoy being an EM. I've also seen others find the challenge exciting from day 1.

Making the change from engineer to manager was exactly the right thing for me to do with my career. But, if I am honest, I did not know it at the time. The level of self-reflection was not there. Hence why I found it difficult at first. Now, with experience, I am enjoying my career more than ever. Moreover, I have had the privilege through my career to help a small number of engineers make this transition for themselves and this has also been a lot of fun.

So let me document here for that student from last week, the same thing I have been telling engineers for years about engineering management.

Traits Of A Great Manager

So here we go. These are somewhat in order of how important I think these skills are. In truth, I think you will have to look far to find a manager who has truly mastered all of these things. I am happy to admit (and will later) that I am much better at some of these than others; I am constantly learning, or at least aspire to.

Empathy and People Skills

Understanding and relating to your team members is crucial for managing a team effectively. This involves empathy, patience, and the ability to build relationships - both within and beyond the team. A good engineering manager should be approachable, able to handle interpersonal dynamics, and capable of supporting team members' professional growth and personal well-being.

This is not something that comes naturally to me. I'd like to think I am pretty good at seeking feedback and acting upon it. Likewise, I feel I'm good at systematic reflection of my own behaviour and attitudes. However, active listening is something I work on daily. I've spent a significant part of my career leading remote teams and active listening is particularly important in that environment. In an async environment, those sync moments really need to mean something. Eye contact. Nodding. Reflecting back what I think I just heard. All things of which I have to be conscious.

Empathy, in particular, is at the heart of situational leadership: adapting your style to suit the needs of the person or group with which you are immediately concerned. This is a crucial skill to develop as you start to work with larger groups of engineers.

Managers also need to understand that People Skill do not equate to "people pleasing." Building trustful relationships allow the manager to deliver the hard messages just as well as the easy ones. At some point in their career every manager will, for example, need to work with an underperforming engineer. The people pleaser will not be respected in these tougher moments. The genuine, empathetic manager, however, can and will be well-received and transform careers.

Leadership and Vision

I'm going to bundle "communication" into this category, too. No use having a great vision if you are incapable of communicating it to the team.

Leadership involves setting a vision for the team, inspiring and motivating team members, making strategic decisions, and guiding the team through challenges. A good leader should be able to align the team's efforts with the company's goals and navigate through ambiguity and change. Good communication helps in resolving conflicts, facilitating meetings, and ensuring that everyone is aligned with the team's vision.

I once had formal training in communication skiils. On day 1 of that course we were all asked to share with the group what we hoped to learn from the following few days. I talked about how I struggled with brevity in verbal communication; I would sooner tell a story than make a point. This was probably the first time someone pointed out to me that story telling is vital... Although, so is getting to the point and making sure you are understood.

What's most importan for managers is to learn their inate style and how to utilise or break it. Playing to your communication strengths can allow the manager to have significant impact. But must not forget situational leadership - sometimes you have to ignore your communication instincts and choose a more appropriate technique. This is takes time and practice.

Organisational and Project Management Skills

Engineering managers must be adept at planning, organising, and overseeing projects - often competing with each other for your team's time. This includes setting deadlines, budgeting, resource allocation, prioritising tasks and liasing with external stakeholders. A solid understanding of project management principles and tools can help ensure that projects are completed on time, within budget, and to the required quality standards.

This is something I particularly enjoy doing - especially the stakeholder management. Having the opportunity to look beyond the team in front of you and liaise with recruiters, lawyers, accountants (etc) really helps you gain a winder understanding of how industry works. I find this fascinating. Some of these things are responsibilities that might come in time. For example, you might not have budgetary responsibilities in your early management roles. But, as the counter example, work prioritisation? Yup, that's going to be on your plate from day 1.

Prioritising work is a dark art. Conflicting business needs. Conflicting desires from the team. Need to create growth/learning opportunities. Deadlines... As a manager, you need to ensure the team understands where it must ultimately land and path to get there.

Technical Competence

Although an engineering manager may not be involved in hands-on technical work as much as before, having a strong technical background is still important. It helps in understanding the team's challenges, maintaining the respect of team members, making informed decisions, and providing appropriate guidance and support. Heck, from time-to-time it might even be appropariate that you role up your sleeves and get stuck into the code again.

I look at it like this: as a manager, I aspire to be part of the team not outside of it. It's there in the title... engineering manager. You are just that little less credible without a strong technical underpinning to your work. In some companies you might be spending plenty time working the code. In other you might not. For sure, as you gain seniority as a manager, you will not have time for programming. As a manager, you absolutely must empower your team to be making technical decisions for themselves, without your influence. This is often one of the tough lessons you will learn early on in your management career.

I guess this leads us on to...

Problem Solving and Decision Making

Engineering managers face complex problems that require thoughtful analysis and decisive action. This involves not just technical problems, but also issues related to team dynamics, project constraints, and organisational challenges. A good engineering manager should be able to approach problems systematically, evaluate different solutions, and make informed decisions.

So that's where the technical competence helps. If the team cannot navigate, for example, a "should we do X or Y?"-type question, you need to be on hand to see them through it. Now, this can be a matter of style... A more technically-minded manager might be tempted to make the decision. Personally, I would rather use my technical knowledge to steer the conversation. Have both options really been evaluated form the perspective of the user? What about cost or time of implementation? Does one of these solutions greatly increase the maintenance burden?

For many things the manager is definitely the decision-maker and it is not necesarily appropriate to delegate to the team. For example, the team should absolutely have their input on hiring, but the manager needs to be the decision-maker. As with leadership in any domain, it is important for managers to be decisive. This does not mean that decisions must come thick and fast, but they must be stuck to until they have proven to be a sucess or a failure (which is a totally fine outcome, btw). Flip-flopping on decisions will erode the team's confidence pretty quickly.

Making The Change

So there you have it, the 5 skills/traits an engineer must have to consider becoming a manager:

  • Empathy and People Skills
  • Leadership and Vision
  • Organisational and Project Management Skills
  • Technical Competence
  • Problem Solving and Decision Making

Chances are, by the time you've made it to senior engineer, you've already honed a few of these. If a few (most?) of these are still work in progress, that is absolutely not a barrier to becoming a manager. Don't forget: management is a completely different career path and, as you make the change, you'll become "junior" all over again... You should have plenty time to develop these skills!

On the flip side, if any of these skills/traits do not come naturally to you or you have no interest in developing them, then management might not be the right path for you. But, fair warning, these skills will also be useful to you as an engineer. You'll just use them differently.