I recently sat down with Camille Fournier, the head of Platform Engineering at Two Sigma, to talk about what constitutes great technical leadership and how organizations can foster it. Here are some highlights from our chat.
How do you define technical leadership (as opposed to leadership in general)?
Technical leaders don’t just generically inspire people to do things, but are capable of communicating with technical stakeholders and engineers in language that they understand. Technical leadership is about understanding the technical context under which decisions are being made, and asking questions to help make sure the right decisions are being made given the technical concerns.
What are some particular challenges for engineers when they become managers?
The feedback loop for a lot of engineering is really fast: Write code, get it to compile, get a test to pass, get a feature shipped. The feedback loop for management is much slower. Change takes a lot longer to see when managing a team. Both mistakes and successes often show up long past the actions that caused them to happen. So it requires a lot more patience, which can be quite frustrating for new engineering managers.
What makes a good technical leader?
Good technical leaders are capable of understanding systems through many different lenses. They understand that their companies are shaped by people and technologies and processes, and they’re capable of investigating each of these areas to understand how it contributes to the current success or challenges of the team. Good technical leaders have a strong sense of technical empathy, which helps them appreciate the challenges their engineers are facing, even if those engineers are working on problems that the leader has never personally written code to solve. Finally, good technical leaders have good technical judgment. They’ve built enough systems themselves that they have a notion of what kinds of questions to ask when people propose technical solutions, but they also appreciate the needs of the business and will challenge their teams to come up with solutions that meet those needs.
How does an organization create a culture conducive to good technical leadership?
First, by giving people the time to be great hands-on engineers for as long as they want to. I don’t think we do engineers any favors by pushing them into management before they want to become managers. It takes several years of hands-on experience before most people feel comfortable stepping away from having that focus, and so making sure people have room and time to grow as engineers before they start managing is important.
The other major aspect is making sure you have technical leadership all the way up to the senior leadership of the company. If there isn’t a person in an executive position who really appreciates what it means to be in a hands-on technical role, the values and needs of the people in those roles won’t be represented well.
You’re hosting a track at the O'Reilly Velocity Conference in New York this October. What presentations are you looking forward to attending while there?
Obviously, I'm very excited about all of the talks we have in my technical leadership track. There's a number of great talks that I will have to miss including Ben Lindsay's "Putting your first paper into production," and Leif Walsh's "Scalable, fluent time-series data analysis." Beyond that, I'm very interested in Cindy Sridharan's talk on monitoring cloud native systems and Mark McBride's talk on customer-centric observability. Honestly, there are so many great options it's hard to choose!