This post lists the key insights from this article, from Ibrahim Bashir, GM @ Box.
In order to talk through how to evolve as an engineering manager, let’s walk through the different dimensions that make up the role.
1. People Management
Your job is to let them do their job, and that means creating an environment that not only allows them to do it, but excel at it.
2. Communication Management
There are 2 elements to this – active listening and crisp delivery.
For the first, you need to pay attention every time one of your team members speaks to you (during a 1:1, in the hall, dropping by your desk) – beyond that, ask clarifying questions, write down follow-up action items, and leave them with the (hopefully accurate) impression that you heard them loud and clear.
The second angle to this is making sure every communication to your team and about your team is crystal clear. You have to plan it, craft it, review it, rewrite it, and socialize it. Your team should never feel more ambiguity after you communicate to them.
3. Relationship Management
Once you understand that you essentially work for your team (vs. the other way around) and have done what’s necessary to establish robust lines of communication, you can start focusing on relationships.
You and the individuals on your team are in it for the long haul – think and plan accordingly. Going one step further, start to behave as one unit that builds relationships with other teams.
4. Opportunity Management
Once relationships are in place, the opportunities will start to flow. You want to keep solving newer and more interesting problems, but that implies a certain mastery of yesterday’s problems.
5. Backlog Management
You need to have enough things in the pipeline that folks are stretched to new limits without reaching their breaking point. You also need to be cognizant of actually delivering what you say you will to the people who need it; the todo list for the team constantly has to be reviewed, analyzed, pruned, and communicated (within and beyond). For a team that is truly humming, the backlog just becomes a simple priority queue and anyone with available time takes on the next thing.
6. Results Management
The only reason to put management structure in place is a hypothesis that it will drastically (or at least marginally) improve the output of the team. Engineering Manager + Individuals = More than Sum of Parts. So, if you’re accountable for results, but you’re not really doing the heavy lifting (drafting specs, writing code, reviewing tickets, chasing bugs, making schedules), then you’d better make sure the people who are doing that are completely focused on the task at hand.
7. Metrics Management
The best way to quantify results for the team (internal understanding) and the broader org (external understanding) is metrics. Your job is to make sure they are defined, measured, optimized, and refined over time – again, it’s your job to make sure that happens, not necessarily to do it all yourself.
8. Project Management
This is status reports and slide decks. This is Gantt charts and task tracking tools. This is reports that make you look good and bad. This is the broad email and the executive review. This is the nuts and bolts of running an org, and you need to automate and simplify it as much as you can. Make it as routine as possible so that it doesn’t become the focus over actual results.
9. Priority Management
The thing that pushes most teams off course is a shift in priorities. You have to be ruthless. You have to apply them to your backlog. You have to constantly ensure they are what you think they are. You have to repeatedly communicate them to yourselves and others to ensure there are no gaps in understanding. A
10. Resource Management
Through a combination of people / communication / relationship management, you have to develop an understanding of who is capable of what, who needs to be pushed, who needs some space, who needs a break, etc. The engineer who’s built, scaled, and operated n Tier 1 services in a row might be ready for something new.
To top it off, you’ll have to deal with “launches that cannot slip” and “projects that have gone on too long” and “people I can’t work with” and “partners who don’t know what they want.”
11. Talent Management
But how do you make sure you have the “right people”? This is where managing talent comes in. This starts with recruiting – you have to be clear about the needs of your team and then go out and do everything necessary to fill those needs. And getting folks in the door is just the start. You have to onboard them carefully and completely.
There is feedback to be synthesized and delivered. There are career ladders to climb. There is training to be provided. There are rewards and recognition. There are tough (very tough) conversations to be had. And it’s a cycle that always has folks entering and exiting.
12. Operations Management
If you’re doing all of the things above, you’re running an org that has many different needs. Planning needs. Support needs. Logistical needs. Proactive and reactive needs. Just an all-around execution framework – in simple terms, the (documented or not) process by which work happens. This is beyond the day-to-day project management mentioned above – this weaves together things like key metrics and vision statements and delivery roadmaps and headcount asks.
13. Roadmap Management
We talked about a backlog earlier, but the other side of that coin is looking ahead, being proactive, and anticipating what will be needed or what bets to make. A good engineering manager can articulate (to anyone) where things are projected to be weeks out, quarters out, year outs, etc.
14. Knowledge Management
If your team routinely hits all of the above, it obviously has some tricks up its sleeve and is rapidly developing more – the difference between good and great managers is the ability to tap into that tribal knowledge. This could be documentation or talks or pairings, but you have to move beyond individual points of failure towards a high-performing whole that taps into the strongest abilities of each other.
15. Leadership Management
You keep up all this for long enough, and leaders start to emerge. What was painful yesterday becomes routine today, thanks to the contributions of folks who are ready for more responsibility. And it’s your responsibility to find them more responsibility. Otherwise, they stagnate and leave (slowly or abruptly, doesn’t matter, it robs the team of a chance at an evolutionary leap). The things you have to do are delegate, coach, and trust.
16. Intuition Management
Trust your gut. If you know your team, if you can communicate with your team, if you have strong / flexible relationships within the team, leverage all that. When you have ideas, explore them. When you see opportunities, jump on them. When you see risks, surface them. When you see problems, talk through them. When you’ve reached the point of no return, act decisively. Someone trusted you to shepherd a group of individuals towards a larger goal, so trust in yourself.
17. Scope Management
If your team is successful in all of the above, more enduring opportunities start to materialize. You own A and B and were asked to help with C. Maybe now you’re asked to just own C outright. And how about D too? Again, you know your team. You know what they can (and can’t) absorb. You know if you have the leaders in place to tackle new, big things. You know how C and D fit (or don’t) with your roadmap.
18. Decision Management
One of the biggest mistakes individual contributors make when transitiong to management roles is thinking that’s their ticket to “making decisions”. I got news for you – you make very few. You influence and facilitate a ton. But you only decide occasionally. If you’re doing it frequently, you’re not allowing your team room to grow. The real trick here is developing an understanding of what decisions can be handed off or made by committee vs. those that need a swift path forward from a singular voice.
19. Transition Management
People will leave the team. On good terms or bad. For the right reasons or not. For failed opportunities and new ones. It’s the nature of the team – it’s fluid. If you’re doing the right things, you take it in stride. No one individual makes or breaks the team.
20. People Management
This one is so important I’ll mention it twice. I’ve oversimplified to this point and made it seem like the team is you and a set of 1:1 connections radiating out from you. That’s not true. There are a ton of inter-dynamics within the team. You not only need to be in tune with every one person as an individual, but every possible combination as well.
21. Time / Expense / Travel Management
Think of this as a bonus / warning – you’ll have to track this in the most unfriendly-UX way possible using tools that were built by a team that probably didn’t have a good engineering manager (if one at all).
You should ask myself 3 questions every day to make sure you’re doing right by the team:
- Am I prioritizing our work ruthlessly?
- Am I setting the team up for success?
- Am I working myself out of this job?