“Should I transition into engineering management?”
“Will I like it?”
“Am I qualified to be a manager?”
“What if I miss coding?”
You may have asked yourself these questions at one point when trying to determine whether engineering management is the next step in your career.
It’s difficult to know whether engineering management (EM) is right for you before jumping into the role, however there are a few aspects to the job that can help you determine whether or not you’ll enjoy it.
The Skills That Make You A Great Engineer Can Hold You Back As A Manager
Let’s suppose you’re the top-performing engineer on your team of six at a startup. You’ve just found out that not only is your manager leaving the company, but you’ve been asked to step up as the interim manager. You’re the top performing engineer, it makes sense you’d pursue a leadership role.
One of the areas you excel at is autonomy. You pick up any ticket, regardless of subject matter, and deliver great code. You take this sense of autonomy and “yes” mentality with you into the EM role. You say yes to every opportunity that comes your way. You say yes to every stakeholder asking your team to do work for them.
You quickly find yourself on the edge of burnout from committing to too many things at once and not having enough focus time to achieve it all. In order to accomplish all the tasks you committed to, you start canceling one on ones with your team and forget to complete the “smaller” tasks you agreed to do for them, like chatting with HR about a team member who wants to move locations.
Your team also starts to burn out from having too much work in their sprint. They can’t possibly complete it all, let alone to a high standard.
Now your team members lose trust in you and begin to get frustrated. Team morale is down and it continues in a negative spiral.
The skills that served you well as an engineer won’t always hinder your ability to thrive as an EM, but it’s possible that the skills that helped you land this role end up holding you back.
When we compare skills that serve you well in an engineering role we can see they’re focused around collaboration with team members and ability to complete tasks.
Engineering Skills
Autonomy
The ability to write code and complete tasks on their own.
Perseverance
The ability to finish long-running tasks and workstreams.
Attention to Detail
The ability to implement a feature with consideration for design, accessibility, performance, etc.
Problem Solving
The ability to architect a new feature, debug an issue, migrate legacy code to a newer framework, etc.
Collaboration
The ability to mentor team members, pair program effectively, and work with others to achieve a common goal.
Engineering management skills focus on a combination of people skills and technical competence.
Engineering Management Skills
Accountability
The ability to complete the tasks you promise your team you’ll complete.
Technical Competence
The ability to understand the technical solutions and limitations, dependencies, and improvement areas.
Context Switching
The ability to remember the state of many projects and jump from meeting to meeting.
Conflict Resolution
The ability to resolve differences between team members.
Communication
The ability to convey information horizontally (EM peers), and vertically (leadership and direct reports).
Each skill on the engineering list can be used as an engineering manager (and vice versa), however which skills you leverage on a daily basis will shift from more task-focused to more people and results focused.
Being A Great Manager Doesn’t Mean Everyone Will Think You’re A Great Manager
As an EM, you will encounter situations that require you to make difficult decisions and potentially upset one of your team members.
For example, let’s suppose you’re having a one-on-one with Ryan. She’s telling you that she’s working on building a new feature with Carmen but Carmen isn’t making a lot of progress during the week. Ryan has offered to pair program with her, but Carmen doesn’t seem interested. Ryan wants your help to address the situation. How would you handle it?
First, I would encourage Ryan to give this feedback directly to Carmen and support her if she needs assistance wording the feedback constructively.
Second, I would check in with Carmen during our 1:1. When I do meet with her I can ask: “You and Ryan have been pairing. How has that been going?” Notice I asked her an open ended question. I want to understand her experience working with Ryan. There are always two sides to every story.
Let’s suppose Carmen says “it’s going well.” That doesn’t leave me with a lot to continue with right? So I might follow up with “how’s the development progressing? Is there anything I can support you with?”
Hopefully Carmen may open up about the challenges she’s facing. But in the event she doesn’t open up you need to be comfortable bringing up the dissonance in their working relationship. “Ryan mentioned that things are going more slowly than anticipated. You tried pairing right? How did that go?”
The goal with this conversation is to gather information and coach each person into building a stronger and more effective working relationship. Your job is not to place blame on any one person. However it’s a possibility that Carmen has a different opinion about her performance and if that is the case you must be very clear with her about the expectations for the role.
“As a senior engineer you’re expected to be mostly autonomous. If you feel stuck you should ask your team for help. If you don’t feel comfortable or safe doing that let’s discuss it.”
Carmen may leave your 1:1 feeling defeated, angry, and micro-managed. She may even talk badly about you to her colleagues. But it’s more important that you have communicated clear expectations for the job as well as an accurate picture of how your team member is performing towards those expectations.
If you fail to address difficult situations, such as low performance, you will lose the trust of your other team members. And it also puts the low-performing team member at a disadvantage come performance and compensation review season.
Being a great manager means delivering the tough constructive feedback your engineers need to learn and grow.
Feeling Productive Doesn’t Come As Easily
As an engineer you can close some tickets and merge some PRs and walk away feeling productive at the end of the day. As an EM you don’t measure productivity in the same way, which can cause you to feel more unproductive.
As a manager you do work through other people. In part, your success is an aggregation of the success of your team. If your team is meeting their milestones and delivering what you committed to, that’s a great sign that you’re being productive. But this isn’t something you get at the end of each work day. Your timeline for feeling productive shifts from daily to weekly or monthly.
Second, you’re context switching throughout the day. Your meeting cadence might look like this:
- Team standup
- EM/PM/Design sync
- 1:1
- Product area tech leads weekly
- 1:1
- Workstream review
Jumping around from one meeting to another can deplete your sense of productivity. Most of your time is spent in meetings and discussions, which don’t always produce tangible results like a pull request or block of code.
There are four groups that I use to track my work which help me feel more productive.
Tracking Work
Finite Tasks
Have a clear definition of done and have an external impact.
Administrative Tasks
Help you operate day to day.
Self-Improvement Tasks
Help improve yourself as a manager and a human.
Collaborative Tasks
Meetings and tasks you have with other people that help you make progress toward a goal.
Finite tasks have a clear definition of done. You can add them to your to-do list and check them off when you’re done. They also have an impact outside of you as an individual. Some examples might be:
- Create a “ways of working” workshop in Figma
- Read an RFC, review for comments, paper on deprecating an old technology and leave comments
- Define coherent actions for your product area technical strategy for the upcoming year
- Review 30 applications for a senior engineering position
Administrative tasks are the things you must do to operate day to day. Some examples include:
- Scheduling a 1:1 with a new team member
- Approve a team member’s vacation
- Approve a team member’s sick day
Self-improvement tasks are the things you do to improve yourself as a manager and a human. They might be things like:
- Reading a chapter of an EM book
- Reflecting on the past week of work and determining areas for opportunity
- Take a course on cross-cultural communication
Collaborative tasks are generally meetings you have with peers and team members to make progress towards a goal:
- 1:1 with a team member
- Performance review with a team member
- Compensation review calibration with the EMs in your product area
- Sync with your product manager and designer
At the end of the day you can measure your productivity as an EM as the output of your team plus the work done in these four areas.
Feeling productive as an engineering manager takes time, but the satisfaction when you do feel it can be much more rewarding.
Every Decision You Make Affects Someone Else
Whether it’s approving a team member’s vacation or allocating a pool of money during compensation review, every decision you make affects someone else.
Because of this, every word you say and every action you take has weight. As an EM you must be intentional with what you choose to communicate, and how.
There will be times in which you have to communicate changes from leadership to your direct team members, and you may not agree with the decision. But you are now an extension of leadership and are responsible for putting your personal feelings about the decision on the backburner. Of course you should aim to be authentic in your delivery (you don’t need to fake excitement during a company-wide layoff), but you are responsible for the tone you set during these conversations.
Additionally you must back up your decisions. It can happen that a decision you make for one team member negatively impacts another team member. For example, during compensation review you’re typically given a pool of money to allocate to your team members. If one team member is a high-performer, you may opt to give them a higher salary increase at the detriment of a team member who is performing well on expectations. As a manager you need to get comfortable making these difficult decisions and standing by them.
Where Do You Go From Here?
The harsh reality is that engineering management isn’t for everyone. Many engineers truly love the process of coding, and there isn’t an abundance of time as an EM to code (nor should it be your primary concern). It’s common to try out the EM role for a few months or a year and decide it’s not for you. There is no shame in recognizing that you much prefer engineering work to management work.
However, engineering management is a great role for many engineers looking to shift their focus from coding to more technical strategy work and people management.
So how do you decide if engineering management is right for you? In many cases you can’t be sure until you try it. But you can lean-in to leadership and project-management focused tasks and ask your own manager for support to explore new opportunities that align with the EM role.
Engineering Management Fundamentals 101
Jem Young, Software Engineer Manager at Netflix, discusses motivations for transitioning into management and confronts hard truths about the position to discover what makes a good manager.
Enterprise Engineering Management 102
Learn the keys to leading high-performing technical teams from Ryan Burgess, Senior Software Engineering Manager at Netflix. Set up your teams for success by developing OKRs and KPIs, team charters, hiring processes, and fostering strong partnerships.