Location: San Francisco
Current Role: Senior Director, Software Engineering
What’s your background and how did you get into management?
I studied computer science at Stanford starting in 2003. Originally, I thought I wanted to get a Ph.D. and did research at the AI lab, but ultimately the research work felt too slow and abstract for me. After undergrad, I started my career working at Peter Thiel’s hedge fund, Clarium Capital Management. Clarium was incredibly fast moving and chaotic at times (perhaps the opposite of research in a lot of ways). I actually learned a good amount from the chaos – especially the importance of understanding the big picture and developing a sense of how to create impact.
After Clarium, I spent five years at Google as a software engineer working on ads and then Google Now. On the Google Now team, I took on tech lead roles where I was driving the technical direction of the team. At that point, I was still writing a good amount of code, but was also spending time giving feedback and guiding the team.
When I joined Thumbtack in 2015, I started as a software engineer on the Marketplace Dynamics team, which is responsible for optimizing how we match customers and pros. At the time, the team had just formed and was just starting to understand our marketplace problem. I started to informally tech lead the team by helping the team set a direction and build out our first models for predicting a pro’s affinity for customer requests. Six months after joining Thumbtack, I became the eng manager for the team.
What are the biggest challenges you face?
Thumbtack is in an exciting phase where we are building out an incredibly complex and deep consumer product, while also building the team at the same time. There are big and interesting challenges on both of these fronts.
On building the product, one of the biggest challenges is simply to pick the “right” path on problems that have no previously existing answer. The exciting thing about bringing local services online is that no one has really succeeded in doing so broadly. Yet at the same time, it’s very clear that local services are moving online. So we spend a good amount of our time trying to think creatively about solutions to hard problems, and then figuring out how to execute on them “well” (defining “well” is also hard; it’s not always about quality… but out of scope for this discussion!).
A big part of my role in all of this is to not only help think about ideas and how to execute, but also to explain these problems to the team, so that all of the incredibly talented engineers we hire can effectively help these problems. Doing this well means a doing a range of things – from context sharing in the right ways, to setting up the right processes to surface ideas and feedback, to coaching individuals on how they should be spending their time.
Just one example of how we evolved our team processes – we use a fairly standard “OKR” process where we plan goals quarterly and execute against goals using either sprints or milestones. On the marketplace team, we eventually felt this was too rigid and didn’t give us space to quickly evolve goals and tackle opportunities as they came up. So we developed a policy of 70% time on goals, and 30% time on “quick wins”. Any engineer can initiate these “quick wins” at any time, and they can be anything from product experiments to infrastructure improvements to team processes. Giving folks this mandate to think just meant that everyone was suddenly more engaged on the big picture and our bandwidth on good ideas and impact just got bigger.
What is your approach to hiring?
The standard “algorithm-on-the-whiteboard” method of interviewing isn’t working anymore. It’s not totally useless – you certainly find people who are smart in an algorithmic way, and can write pseudocode expressing an algorithm. But this isn’t actually what makes an engineer successful at most tech companies (and certainly Thumbtack). Things like being tenacious when tracing a difficult bug, collaborating well with your interviewer, designing a class structure with clear semantics, or big picture thinking on product and metrics often matter much more than being an algorithms whiz. We found these skills were often undervalued and under-tested in a traditional whiteboard coding interview.
One of the first things I helped drive at Thumbtack was a push for structured hiring and an interview process that was more practical and aligned with what we need our engineers to be great at. We made all of our coding sessions require compiling and running the code on a laptop. We think of our interviews as an open-book test. You are free to Google around as you normally would. We don’t even care if you want to check Stack Overflow, but if you copy and paste code around without really thinking about it, that will come across too. The idea is to see if people can use the same tools that they would use here at Thumbtack, and can effectively build something that actually works.
What’s your advice for managers who are just starting out?
Be authentic and be yourself. It’s important to learn from good mentors and do your homework on management basics, but ultimately you have to just do it your own way. Recognize that there are a lot of different ways to be a great engineering leader and execute the eng manager role. People also spike in different ways in terms of what they are great at. There’s no formula and so part of learning to be a manager is just to go through the cycles and try it yourself (hopefully with a good mentor around who can guardrail you a bit).
On a more tactical note, one of the hardest things for me early on was to give constructive feedback in a way that’s clear and direct but also warm and empathetic. This seems kind of like a contradiction, but it’s really important to being able to guide your team members well. I go back to the point above – you have to do it in an authentic way. You can’t script it or follow a formula. It has to be clear to you that you care about the person and their success, and the feedback has to come across with that underlying feeling.
What’s your workday like and how do you manage your time, emails, etc.?
I’m usually in the office around 8:30am and I try to spend an hour reading and writing before the meetings start at 9:30am. My day is usually packed until 5:30 pm with meetings, so I try to find gaps in between to triage Slack messages and email. We have an 18 month old toddler at home, so I always leave the office at 5:30pm to have dinner with my family and put the baby to bed (my spouse and I alternate doing storytime). After bedtime, I’m back online reading and writing until bedtime at 10pm (yes, it’s early… the baby wakes up at 6am every day!).
I think it’s really important to spend some time on your system for how to triage and prioritize your tasks. I have a task list kept between starred emails in Gmail, and a priority queue of tasks in a Google Doc. Ultimately it’s also important to keep in mind that it’s not just about the tactical things that you finish each day, but also making sure you get to the one really important thing each week or month that isn’t urgent, but can have a lot of impact if you take the initiative to do it. I try to figure out what these things might be and put in the extra time to get them done.
What’s a personal habit that contributes to your success?
I at least triage everything that is direct messaged to me on email or Slack every day before I go to bed. It doesn’t mean I respond to everything but it does mean I’ve at least triaged and prioritized what I need to respond to. One thing to realize is that as a manager, part of your job is just to be a channel of information flow. If the information flow gets bottlenecked at you, that slows the entire team down. My policy is that if I want my teams to be moving fast, then I need to move fast and keep the information flowing.
Share an internet resource or tool that you can’t live without.
I don’t use anything too fancy – Gmail and Google Docs/Sheets are pretty much my home base. One more specific thing is that having a great data analysis stack is really important – for example, using Mode Analytics on top of Bigquery works well for us.
If you could recommend one book to managers, what would it be and why?
I actually prefer reading books about leaders rather than leadership. The books on leadership and management are kind of useful to learn some frameworks, but I’ve generally found books on leaders to be much more interesting in terms of giving a window into the challenges they had to work through. For example, I really enjoyed American Icon by Bryce Hoffman – it’s a fun read and quite the story of how Alan Mulally turned Ford around.
Where can we go to learn more about you? (LinkedIn, Twitter, GitHub)
You can find me on LinkedIn.
This series asks engineering managers to share their experiences with the intent of helping other engineering managers learn and improve. Have someone you want to see featured or questions you think we should ask? Contact me.