Brian Leonard is the Director of Connector Engineering at Airbyte, the open source data movement tool that makes it easy to bring data together to solve business problems. Before that, he was a co-founder at Grouparoo, another open-source data tool, and TaskRabbit, a pioneer in the gig economy.
Click here to watch the full webinar on demand.
Managing a high-performing engineering team is often easier said than done. It requires the right set of skills and tools — and the right mindset to implement them.
There is no silver bullet to lead engineering teams to continuous success. But if you approach developers with humility and constantly strive to grow as a leader, you are on the right track.
Today we will dive into management practices that I've used to lead high-performing engineering teams at Airbyte, Grouparoo, and TaskRabbit. I encourage you to adapt these learnings to meet the specific needs of your team and organization.
We'll cover strategies in these areas:
Key metrics for measuring team success
To lead high-performing teams, it's important to define what this looks like in practice. What metrics can we use to measure team performance over time?
Specific metrics will depend on your team's goals, but these tips can guide your approach:
- Avoid vague performance indicators like "improve quality." Everyone will interpret this metric differently, and it will hinder your team's ability to collaborate and track performance.
- Identify a small number of quantifiable output indicators. Frameworks like Sean Ellis's North Star Metric and Andy Grove's High Output Management can help you to determine meaningful metrics.
- Provide engineers with the business context behind performance indicators. This will help to create a shared sense of purpose.
- Gather input from your team about how to move towards your goals.
Team productivity strategies
When I think about productivity, I use a framework similar to the Triple Constraint in project management. Consider these factors:
The reality is that you can't have an ideal outcome in all three areas of a project. You will need to make tradeoffs in at least one. Acknowledge this and weigh different options with your team. Consider questions like:
- Can we incur technical debt to achieve the right customer outcome?
- Can we cut scope to meet our deadline?
As you engage with your team around these questions, be mindful of power dynamics. Avoid sharing your opinions right off the bat. Instead, carve out 5-10 minutes for silent brainstorming. From there, record your team's ideas and discuss them together. This makes people feel heard and increases engagement.
If you feel that your team has missed something, you can add your thoughts at the end. Otherwise, let developers do most of the talking and create a climate where they feel safe to do so.
Improving time-to-productivity for junior developers
Helping junior developers become productive is all about planning. When you make an offer to a junior developer, you should already have a mentorship plan in place. This includes choosing an experienced developer on your team who is actively interested in being a mentor.
In my experience, you won't see a net boost in team productivity for about six weeks. During that time, focus on the following:
- Re-establish your team norms with all developers, not just new hires. This helps to keep your culture cohesive.
- Have junior developers work on a low-stakes project that can orient them to your team's work. From there, they can work their way up to bigger projects.
- Work with team mentors to create a strong support structure that helps junior developers grow.
Investing in a strong mentorship plan for junior developers will increase productivity for your entire team.
For more actionable tips on leading high-performing engineering teams, click here to view the full webinar.