Managing engineers
What I’ve found effective in managing engineers. A lot of this comes from my management experience at GitLab, management books/courses, and listening to the Soft Skills Engineering podcast.
Care about the engineer and the team
I’ve managed between 8-14 engineers at a time at GitLab. GitLab is an all-remote company and even if it weren’t I would reach for regular 1:1s to understand and guide engineers. I found that talking things out can short circuit a lot of problems before they become serious. An offhand comment was taken the wrong way and ruminated on.
I like to have an agenda to facilitate 1:1s. I keep it simple to start with and often change the format depending on focus areas.
Recurring items:
* Promotion document: Link
2023-04-12
1. R: Any learnings from project Thunderdome? Do you want to lead a project again soon?
a. E: Difficult to balance going fast with tech debt. Had to spend extra time getting team Rollerblades onboard with our solution.
b. E: Want to let someone else lead next project. Give S a chance to step up.
2. E: Did you see the company announcement? Is the company canceling christmas holidays?
Take action
Engineering managers have all sorts of incoming asks. You have to stay on top of the asks somehow. I use a lo-fi task system and my direct team tasks get a higher priority (sorry counterparts!) to avoid being a blocker. It’s draining as an engineer when your manager says they will take care of something but then forget about it. And because of the reporting hiearchy it can feel weird to hound your manager for action.
Delegate
Another way to get things done is to delegate ownership to your engineers. Effective delegation has a lot of upsides, you scale the team beyond yourself, engineers get a chance to do EM tasks and grow in responsibility, you reduce bottlenecks.
Effective delegation does take a bit of skill. You can be too detailed (micromanaging) or not give enough direction (something other than the task gets done). I’m also not a fan of fire-and-forget delegation, if you delegate a task it’s a good topic for your next 1:1.
Be direct
Radical candor is a quite popular book to direct to. And with good reason. It’s uncomfortable to have uncomfortable discussions. As the manager of a team it’s your responsibility to hold people accountable for their performance. When there’s underperformance on a team it can kill morale (Why should I be working hard when S barely ships anything?) and you are responsible for coaching the teammate or managing them out.
You should also be direct when your engineers do good work. It can be easy to only focus on problems that need fixing. Remember to praise good work to team members know where they stand.
Hopefully you are working in a company where regular performance reviews act as a framework and forcing function for these discussions.
Technical credibility
Your technical skills might atrophy a bit from writing less code as an EM. Don’t let them atrophy too much. You are not just a manager, you are an engineering manager, and you need to be able to represent the team in a technical capacity. You don’t have to be the best coder on the team but you should be able to meaningfully contribute to engineering decisions.
You might stay up to date by being an active reviewer, pick up tasks that are not in the critical path, or be a 50/50 people manager and individual contributor.
Translate the company actions
I’ve often found myself working as a translator for the business to engineers. Engineers are quite often very exact and communication from other departments can be lossy and misunderstood if you are looking for edge cases.
Related to speaking for the company, you should be able to clearly articulate to the engineer what success in their role looks like, and if applicable what’s required to get to the next level.
Invest in their success
One of the more impactful things a manager told me was “Ragnar, we won’t work together forever. I want to see you grow so that next time you are looking for a job you can get a job anywhere you want”. This did a good job of big-picturing my relationship with this manager. Yes it’s important to do a good job today but I could also ask this manager for help to outgrow my current job.
Have your engineers write a brag document and if possible review their document. Depending on the type of person you are dealing with they might struggle to brag about themselves or they might be taking credit for work they didn’t do.
Nudging engineers to use the company learning budget for conferences/books/courses is also a great hands-off way to push them to grow.