I often talk to individual contributors who want to transition to engineering management. We start the conversation around why they want to become one and what they’re looking for in their career. When we dive into the details on what they should pay attention to, here’s my framework for coaching new engineering managers:
- Nobody sets out to do a bad job
- Understand the system
- Create bridges
- Watch out for Murphy
- Upgrade engineering
Nobody sets out to do a bad job
Anytime you feel like you’re about to blame someone for failing to complete a task, remember – “Nobody sets out to do a bad job.”
Assume positive intent from the engineers.
From my experience, engineers work super hard and they want to impress you by doing an awesome job. If someone make a mistake, ask about their line of reasoning. Be patient and figure out what information was needed to make a better decision.
Take the time to ask questions.
If you don’t get a clear answer, ask if your expectations were clear. Did you say, “I expect this project to be done on Friday at 5 PM? You’ll have 1 week to complete the project.”
What was their response like? What was their tone of voice or body language?
If you detect any hint of hesitation, maybe they’re not comfortable challenging you on an unreasonable request. Then you’ll need to rework how you scope a project. Ask questions until they know what you need from them.
The first topic I talk about management is people. You need to start with your team and establish a good rapport. I don’t recommend leading with distrust or dismissing the output of anyone.
“Nobody sets out to do a bad job” is a great way to begin the journey with your team and build trust.
Understand the system
My engineering management philosophy derives from three things: people, business, and technology. Now you’ll need to see things at a macro level instead of your individual team.
Business
Can you draw the feedback loop of your product? Here’s a few questions to get started.
- How do you acquire customers?
- What are your levers for growth based on this drawing?
- What can your team control and fix?
If you need help, ask your product managers and analysts to guide you. They should have the most context what your team should build in the next week, 30 days, and beyond.
People
Understand your company’s org structure
- Why does your company have the teams that it does?
- Why do you need operations, logistics, business development, legal, and more?
- How are those teams structured and how do they interact with your team?
Technology
Understand how your technical systems are built. Develop a mental model from the codebase to the database layer.
What regions are unknown to you? Section those areas off as risky and schedule time to explore them. Your primary job is not to write features or fix bugs. Have the structure in your head so you’ll know where the system weaknesses are.
While this is a short-term painful exercise in absorbing context, knowing what you’re managing on the technical side will save you time in the long run. You’ll know where to deploy engineers and when to pay off technical debt.
The information will help you decide on skillsets an engineer should have as part of your engineering team strategy.
Create bridges
Don’t punt issues, work together to solve them.
While the advice of “try not to say yes to everything” is given in engineering management circles, you shouldn’t rely on hard no’s to requests. Work with the requester to explain the priorities and take the time to understand where they’re coming from. This is critical to building a good business relationship.
Often you can delay an issue if it’s not too critical –
I stress this because you need to train your intuition what your team needs to jump on or not. If you continuously punt issues because “you don’t own it” or “you can’t get do it” – you’ll run the risk of dropping the ball on a critical problem.
Reach out to other functions in the organization. Get coffee with them, understand what their needs are. From the previous “understand the system,” you’ll create a mental model of the company’s org structure.
Is there a team you haven’t talked to? How do they perceive engineering?
If you notice regions where there’s no ownership –
Be the team who builds a bridge and crosses the unknown:
Watch out for Murphy
When everything is quiet is when you need to prepare for the worst. Work with your team to come up with failure scenarios.
How can a system possibly break and how? This includes people, business, and technology systems. Identify single point of failures like one person having sole domain knowledge.
- Work on documentation.
- Take the time to pay down any technical debt and work with product to stabilize.
- Identify systemic fixes
- Review security issues! These should be treated as p0 to avoid breaches.
Upgrade engineering
Don’t hoard all the knowledge.
Actionable advice could be maintaining the system architectures of your system. Then extend to the boundaries around your system. Create a living map and refresh this every month with other engineers as a technical session.
If you solve a critical fire, write that up.
If the fire is a volcano, then consider giving a presentation to engineering. Ask for advice, and you might learn a few things. Other engineers will also have a few takeaways.
Help make all the engineering teams stronger.
Good luck!
The first two, “Nobody sets out to do a bad job” and “Understand the system” cover my primary management philosophy which is balancing across people, business, and the technology. These topics are internally focused to improve your team.
Creating bridges with other functions is crucial to expanding your team’s influence across the company. These teams can often help you counter act Murphy’s law because they’ll act as sensors. One team to especially pay attention to is customer support. Work with them to triage issues and stop fires before they happen.
The last point, “Upgrade engineering” is to help uplift all the other teams. If your team is doing a good job in one area, help the other engineering teams get better for that skillset. When you see engineering teams improve, start sharing with the community in the form of blogs, podcasts, meetups, and conferences. I believe there’s a natural pull where engineers from the outside are curious and want to learn from your teams. That’s how you can attract great talent!
Leave a Reply