Engineering management: An Interview with Michael Lopp
- January 14, 2020
Michael Lopp has worked at software companies in the San Francisco Bay area since 1988. During his career, he has managed rapidly growing engineering teams at Netscape, Apple, Pinterest, and most recently, Slack, and for more than 17 years, has shared his insights on tech industry, culture, and management through his blog, Rands in Repose. He is also the author of the career-development books Managing Humans: Biting and Humorous Tales of a Software Engineering Manager and Being Geek: The Software Developer’s Career Handbook.
For Behind the Code, Lopp shared his thoughts on best practices for engineering management, showing how prioritizing one-on-ones, delegating to build trust, and investing in diverse teams are all crucial to success.
What do you see as the most significant shifts in management styles today?
So many things! There is more focus on work-life balance and the holistic care of humans than there was 20 years ago. I think that’s really awesome.
What are your best pieces of advice for being an effective engineering manager?
Number one, with any team, is hold one-on-ones. I just start connecting with folks and figuring out how to build trust and respect, and trying to figure out what they need in order to grow. Number two, building trust and respect is about delegating. New managers can especially struggle with delegation because we engineers really like to have control and understanding. Being a manager is about letting go and giving that responsibility to others. It’s a great vote of confidence in your team.
Something else that’s important, and this is a hard one, is you need to “over-communicate.” Managers who have tremendous access to information can take it for granted and [assume], “Oh, doesn’t everyone know these things?” You need to spend a lot of time communicating and repeating yourself, and making sure that everyone is clear about what is going on.
In your book Managing Humans you mention that great managers have to work very hard to see the individuality of the people they work with. How can new managers work to connect with team members?
The number one thing is to frequently spend time working directly with a person. It’s such a simple thing, but [have] one-on-ones, [for] 30 minutes, no matter what, every week. These meetings are some of the most important ones for me, and are the last thing to get rescheduled. Sometimes people walk in and give me status reports, but that’s not what I want. It’s really about stepping back from all the urgency and having a strategic and interesting conversation. I’m like, “Hey, what’s going on? What’s the hardest thing on your plate right now?” You do this for a year, and people start to depend on that time to share what’s going on, on a more personal level.
When managers get stressed, normally what happens is the one-on-ones are the first thing to go. But when things are blowing up, the one-on-ones are actually more important, because they’re when we can share thoughts, decompress, and problem-solve. When they get rescheduled and cancelled, it’s signaling that the relationship isn’t a priority, and that’s not true. My job with my management team is about care and growth and keeping them productive and happy.
How are these connections maintained as the team grows and scales?
You need to make the time for those meetings, right? That means having an organizational structure where managers don’t have too many direct reports. My rule is seven, plus or minus three, direct reports, depending on how strong a manager is. I know if you have 10 or more direct reports, your chance of knowing everything that is going on is lower, in terms of the health and happiness of your team.
In the past few years, conversations around inclusivity and diversity in the tech industry have increased. What are some of the conversations happening right now at management level that are addressing inclusivity?
I get asked about this a lot, especially since Slack has done so well in creating a diverse team. The tricky part is they are good at it because they chose to make it part of their DNA from day one. The challenge a lot of companies have is they haven’t made having diverse teams a founding principle, and it’s hard to bolt that on. It’s just counter to how a lot of cultures have grown over the past 20 years. There are so many obvious biases and non-obvious biases, like people like to hang out with people they understand. But if you want to have a healthy team, if you want to have products that appeal to as many people as possible, you need to have a diverse set of perspectives, which means your team needs to be diverse. So you have to expend the effort, you have to invest in choosing to have a more diverse set of team members. Getting in and making it a core goal for the company as early on as possible is the way to get started on that.
What tips do you have for new managers working with team members from different backgrounds or with wide-ranging personalities? How can they help their team feel like a cohesive unit?
You want to get a sense of and understand—and this is why one-on-ones are so important—who these different folks are. When I get a team, [I consider] what hand did I get dealt here? Who are these humans, what do they need, how do they speak? How do they interact with each other? What’s their history? Have they worked together before? There is all this data to be gathered. It takes time.
The more the humans are different, the better, because they teach each other, they have different perspectives. And sometimes those perspectives are harder to understand because they are so different, but when a team knows how to debate, tensions may get high, but they can communicate well and learn a powerful lesson about how to work together. They can say, “I have a different perspective from you, and I’m responsible enough to share it with you in a way that you can understand, so you can ask questions.”
The piece of advice that I give to new managers—and this sounds simple but it’s really hard—is you have to really listen to your people. They are telling you what they want, and you have to hear it. At the end of the day, it’s not about you. It’s what this human is telling you. Whatever it is—“I need a promotion”, “I’m worried about work-life options”—whatever those things are, you really have to hear it. And then you act on it. That’s the only way they are going to believe you heard them—when you took what they said and acted on it, and they saw results. Spending that time to truly listen is hard. But making sure everyone is working well together is literally the most important part of the job.
Do you see mentoring as part of the role of a manager?
Yeah, mentoring, coaching… If I were to rewrite my first book right now, I would call it Leading Humans. Leaders tell you where you are going, and managers tell you where you are.
[With the example of delegation,] very often you are going to give [your team] something they are not ready for. And they know that and are like, “This is scary.” But they also see that as an act of trust. You’re saying, “Hey, we are going to get this done together. I’m going to teach you how, because I’ve done this before and I’m pretty good at it.” Let’s say they get a B in that exercise. A B the first time around? That’s amazing. They learned, you helped them, and that builds trust.
Are there certain characteristics that make some engineers better equipped to become managers than others?
There is an assertion that engineers probably aren’t good managers because we aren’t as good at people skills, because we are so good at logic. That is not true, because all humans are different. There are times and places when a very technical manager who may not be as strong on the people side is exactly the person I will deploy into a team. And it’s also true that in exactly the same organization, I will choose a manager who is much stronger with people skills, because what [that team] needs is a culture builder, a people savant. I think it’s a teachable skill. I’ve seen all shapes and sizes of engineers become good managers.
One of the things I’ve seen in a lot of the companies that I’ve helped grow is a rush of people into management, especially in rapid growth. And that is usually a mistake, because there are folks who are going to be automatically great, but there are some who still should be banging away on their keyboards. So I spent a lot of time in my last two companies trying to make sure that both career paths are equally valuable, namely the people-leadership side and the technical-leadership side. Any engineer should feel that she or he can grow as a leader and not necessarily become a manager.
This interview has been edited for space and clarity.
This article is part of Behind the Code, the media for developers, by developers. Discover more articles and videos by visiting Behind the Code!
Want to contribute? Get published!
Follow us on Twitter to stay tuned!
Illustrations by Harry Haryanto
- Přidat k oblíbeným
- Sdílet na Facebooku
- Sdílet na Twitteru
- Sdílet na LinkedInu