7 Lessons Learned from 7 Years in Engineering Leadership
In the past 7 years I led 13 different teams, built dozens of new products, managed over 70 different engineers and managers, and ran over 400 interviews.
Here are 7 lessons I’ve learned that I wish I knew from day 1.
1. SFTC is the ultimate north star
When solving for the customer is the singular focus across your teams, everything else falls nicely in place.
Decisions become easier and politics tend to be kept at a minimum. People are less territorial with projects and they get promoted because they do the right thing – not because they worked on a specific project.
2. Focus on what’s important (not what’s exciting)
It’s natural to be drawn to cool projects, like those that are technically challenging or use an interesting tech stack.
However, if you want to be impactful you need to work on things that are important for the company and your customers.
This way you’ll get more attention, more resources, and eventually more excitement. Plus, it will give you an opportunity to make a good impression and grow faster.
3. Be ruthless at prioritizing (and keep a single sorted list of priorities)
Let’s be real, prioritizing is hard.
It’s common to have lots of different priorities which may all seem important and urgent, while trying to please a variety of stakeholders.
But that’s a slippery slope.
What I’ve found to be extremely effective is maintaining a single sorted list of priorities. I usually revisit that list monthly using this process:
- Ask each of my engineers for a list of their top priorities
- Merge in my priorities and sort that list
- Merge in my PM’s priorities and sort
- Check in with my manager and team
- Commit to the next month’s sprint
This process has several benefits, among which keeping your engineering team engaged, having a backlog in case your PM needs time to do research, and getting buy-in from all stake-holders.
The main downfall of a bottoms-up approach like this is that it takes longer but the benefits far outweigh the costs.
4. Be protective of your calendar and reduce recurring meetings
This is really tough to get right and a common problem amongst leaders.
On one hand you want to allocate time to your engineers and cross-functional partners to meet face to face on a regular cadence. On the other hand it’s very easy to pile on meetings and before you know it you are left with a stacked schedule.
However, you’ll also want some focus time, as well as meeting-free blocks throughout your days so that you can have impromptu chats.
Here are a few things that can help you achieve that:
- Refactor your calendar on a regular cadence. I do it at least once a quarter.
- Book less frequent 1:1s for your team members that are doing well and use the time to talk about their career and long-term goals.
- Keep weekly 1:1s for people that are onboarding or need your close attention. As soon as they are on track, reduce the cadence. For example, I might have weekly 1:1s when someone new joins the team and turn them bi-weekly a couple months later once they onboard.
- Balance out less frequent 1:1s by checking in with your team on Slack and hopping on impromptu hangouts.
- If a meeting doesn’t provide a lot of value to you, bring it up and see if others feel the same way.
- Record async videos when you want to share information rather than booking a meeting. Great uses of async video include sharing status updates, demoing work or providing feedback, explaining architecture decisions, and walking through pull requests.
- Create agendas for all your meetings and make a habit of updating it ahead of time.
Maintaining your calendar is a balancing act but if you are intentional about it you can have great results.
5. Give feedback early and often
Giving feedback is essential to building strong and effective teams.
But giving feedback is hard.
Most managers tend to have ruinous empathy with their direct reports. I’m guilty of that too.
So how do you balance giving feedback and being nice?
My trick was to start small and ask questions instead of giving feedback.
For example, I might say: “Hey, I noticed your contributions last week were fewer. Is everything ok? How can I help?”
Asking low-stakes questions early on makes sharing radical candor later on much easier.
When you ask questions frequently there will likely be a good reason most of the time. But if things stay off track for long, it is much easier to escalate your feedback.
6. Stay technical
Another thing that made a huge difference for me was remaining technical even as I started leading teams.
However, finding time to code is challenging – I’ve struggled with it and I’ve seen many of my peers having a hard time with it as well.
Remaining technical will help you be more effective as a leader as well as maintain the respect of your team. Plus, it can rejuvenate you and replenish your confidence.
One thing that helped me was being protective of my calendar and trying to keep recurring meetings to a minimum. That gave me more time to focus and bigger chunks I could use to code. It’s definitely a balancing act, but it’s important.
7. Develop deep personal relationships and expand your network
Having a strong network can help you navigate challenges more easily and get things done more efficiently.
Consider investing the time to build deep relationships with your reports, cross-functional partners, senior leadership, as well as colleagues across the organization.
Building a network outside your direct team has many benefits too. I frequently carve out time to meet with colleagues and try to organize mastermind groups. This helped me gain new perspectives as well as feel supported and empowered when times were challenging.
Bonus: Growth happens outside your comfort zone
I left this for last but it’s the most important.
When times are good and things seem easy you are more likely to stay feel comfortable and not push your limits.
However, growth happens only outside your comfort zone.
So if you want to grow, look for the next s-curve. Because if you stay within your comfort zone for too long, at some point you will plateau and can become complacent.
Getting outside your comfort zone will be challenging, no doubt. But through every challenge there’s an opportunity to grow.
And during those challenging times always remember that sometimes you win, sometimes you learn.This post was originally published on September 28, 2022
Get a newsletter you'll look forward to
Resources to help you grow as an engineer and leader
100% free. No spam. Unsubscribe any time.