What does a software engineering manager do? (part 1)

Intended audience

This is the start of a series of articles about the software engineering manager role. I hope my writing can help two groups of people:

  1. People who are currently considering the engineering management role for them as a next career step but are unsure what to expect.

  2. And people who have just been promoted to engineering manager.

In this first article, I will start to provide an overview about the engineering manager role and its typical responsibilities. In later posts I will also describe the very nature of management work and I will talk about all the things that will change when transitioning from software engineer to engineering manager. Spoiler alarm: This list will be very long. I believe my writing might help to provide orientation for people new to the role. For people currently considering EM as a next step, it hopefully can help a bit to assess, if engineering management could be something for them.

My personal journey into management

I still remember quite well how it was for me having just been promoted to engineering manager a couple of years ago. In the first and second year, I recall a constantly running background process that had been forked in the back of my mind trying to figure out what my new role was really all about and how I could be most helpful for my team. Also I was not sure what kind of leader I wanted to be. I recall knowing exactly what kind of leader I didn’t want to be after a couple of bad experiences in that regard.

Why transitioning into management is challenging

It is not at all easy going from software development and from an individual contributor role to management as so many things will change for you in the day-to-day. The nature of management work is so different compared to coding. And so there are some typical challenges, especially on the psychological level, that come with moving into management. I believe in the end it even boils down to changing your identity to some extent. You have been part of the programming community till that day. And suddenly you are a manager doing little to no hands-on work and being the supervisor of other people (maybe even of your own former peers). Understandably this can feel unsettling sometimes, and especially so when having to handle new and difficult situations requiring completely different skill sets. Surprisingly, many companies do not provide timely and adequate support to help their new EMs grow confidently and successfully into their new roles.

But let’s go step by step and start by looking at some of the core responsibilities of an EM.

Core responsibilities of a software engineering manager

Now, it is a bit hard to give a completely accurate overview about the role's responsibilities. This is because the details of the role usually depend on multiple factors. For example:

  • If the size of your team is quite small, you might be expected to still do some hands-on coding work.

  • The details also depend on other roles that you might have on the team. E.g. Are you supported by an agile coach or scrum master?

It is also possible that your official role is not even called engineering manager but something like "Engineering team lead" or it might be that your role is called "Tech lead" but you happen to have people management responsibilities as well. There are various names and nuances for the role. The career ladder that is hopefully existent at your company will very likely shed light onto the details.

Fortunately, we don't care too much about the details here. In this article and its follow-ups I will assume that two things apply to the role at your company:

  • You are a team lead who is responsible for a software development team. And as such you are ultimately responsible that your team is shipping.

  • You are the people manager, also known as line manager, for the software engineers on your team. And as such you are responsible for their well-being and performance.

Becoming an engineering manager means that you are changing career paths. You are leaving the technical career track and you become a manager.

[ And just as a side note: If the engineering career ladders at your company do not include both a technical and a management track, I highly recommend reconsidering if this fact is really supporting the growth of your software engineers in the best way. Not every engineer wants to become a manager and you also need people perfecting their technical expertise to build great software. Tech companies have understood this much better than they used to. Some years ago this was not yet as self-evident as it is today in the software industry from my perspective. ]

Let's have a closer look at what changing career paths actually means in your case. The following image shows two radar charts from engineeringladders.com stacked on top of each other. Blue represents the competence fields for senior software engineer and green represents those for engineering manager.

You can see that when you become an engineering manager, the area of competence that will have to grow the most is "People management". Secondly, you are also more responsible for adjusting and improving team and inter-team processes. Thus it is only logical that those two competence areas, People and Process, are in the main focus of my leadership development program.

Engineering lead Lena Reinhard lays out the core responsibility areas of an EM at 3 levels. You are expected to support

  • the individual

  • your team and

  • your organization.

I find this categorization simple but still applicable and helpful for a rough overview about the core expectations.

Supporting the individual

Let's have a closer look at the first level: "Supporting the individual". This is typically the area of "People management". But what does people management entail? People management refers to the practice of…

  • Hiring

  • Onboarding

  • Developing

  • Engaging

  • Retaining and

  • Offboarding

… people. All of these things are important and there is a lot to learn in each of those areas. But if I would have to summarize people management in one sentence, it would be that "You are responsible for getting the most out of your people."

As an engineer, you are mostly only responsible for your own work. In contrast to this, your work as an EM will be much less about yourself and much more about supporting everyone around you. And this is essential: If “supporting your team and everyone else around you” does not sound appealing to you, maybe this job is not right for you.

To do your job well in people management some of the things you will need to get better at are:

  • Understanding what motivates people

  • Building trust and a safe environment

  • Giving feedback

  • Communicating well as a leader

  • Coaching to grow your people

  • Conversational skills and listening

  • Interviewing and selecting talent

  • Showing empathy

  • Understanding power dynamics

  • Resolving conflicts

  • Having difficult conversations

Again, if I had to nail it down to one sentence, I’d say that you will have to get much better at understanding "what humans need so that they can realize more of their potential at work". Answering this question will mean learning a lot about psychology, group dynamics and how our human brain works.

Being a beginner again

It is very likely that it will take some time for you to build a solid expertise for the new competencies listed above. Therefore it is important to realize that becoming an engineering manager basically means "that you are a complete beginner again" and that the skills that made you a great software engineer, for the most part, won't help you so much to become a great EM. Being a beginner again can feel very unsettling. This is why many new EMs make the mistake of micromanaging and often long to go back to their IC role to regain self-esteem and also their old sense of productivity.

My advice is to execute this new role with the amount of humbleness that is necessary as a beginner. I have seen far too many new engineering managers mask their insecurities by, for example, adopting an authoritarian and counterproductive leadership style. Be open about the fact that you are unsure about many things and try to find people supporting you on your new path.

It is normal to feel insecure in the various new challenging situations that you will face. But your own manager will understand what you are going through as they have been there before as well. Believe me, it will get much better over time. Your intuition will grow with every experience you make as a manager. Take your time, hang on and give management a serious try before giving up. Be curious and open to new topics, try out new management tools, observe carefully if they work and fit you and your leadership context. Reflect consciously. Adopt or discard these tools. And repeat.

PS: In the next article of this series I will explain what it means to support your team and the organization as an engineering manager. So please stay tuned.

PPS: Are you unsure if you should become a software engineering manager? As a professional coach I help people like you to find out. Get to know me and let’s talk to find out how I can help you making the right decision. Or read the article “Should I become a software engineering manager?“ in which I describe how I work with people like you that are currently considering the engineering management role for them but are unsure if it will be a good fit.

Zurück
Zurück

What does a software engineering manager do? (part 2)

Weiter
Weiter

Should I become a software engineering manager?