Hi there!

In this post we’re discussing technical leadership, a topic that is paramount to any engineering organization, but is also hard to define. Even observing whether your team, organization, or company has good technical leadership can be a challenge. You might be thinking right now, “Am I a good technical leader?”

To help describe how Yelp thinks about technical leadership, we have two of our Group Tech Leads (a.k.a. GTL, more on what this is later) writing this post. They are both seasoned Yelpers who have held a number of technical leadership roles — they were even willing test subjects for Yelp’s early experiments in defining such roles.

Jason Sleight has been with Yelp for six years in various machine learning (ML) oriented roles, and is currently the GTL for Yelp’s ML platform, which consists of a collection of centralized systems for ad hoc computing, data ETL, and training/serving ML models.

Josh Walstrom has been with Yelp for seven years in various backend, iOS, and Android roles and is currently the GTL for our “Yelp for Business” mobile apps, which enable business owners to manage their presence on Yelp.

What is technical leadership?

First things first, technical leadership is not a single concept, but rather an encapsulation of several distinct functions. For the sake of simplicity, we’re going to bucket them into a few categories. We call someone a Tech Lead (TL) when they focus on these functions.

Own technical direction within an Area of Responsibility (AoR)

Yelp is a highly collaborative environment where product, design, management, and technical leaders share goals and direction, but each focus on different aspects based on their expertise. For example, a product manager’s (PM) expertise is market fit, and a TL’s expertise is technical execution. A PM might focus on whether a team should increase weekly active users via increasing app downloads versus improving retention of existing users, while a TL might focus on whether we should prioritize componentizing UI elements to enable app-pitch interstitials versus improving caching to reduce page load times.

We like our TLs to focus their attention within an AoR. By having a defined AoR, we can ensure TLs are involved in all the necessary planning, decisions, etc. for that system. In some cases, an AoR is a direct mirror of the team’s mandate (e.g., managing MySQL deployments); in others, an AoR is a sub- or cross-section of an important initiative (e.g., migrating to a new service discovery tech stack). In any event, AoRs are long-lived concepts with multi-quarter or even multi-year roadmaps, and it is the TL’s responsibility to champion that process.

Ensure the technical success of their AoR

Once you have a technical direction established, you need to execute a sequence of projects towards those goals. Ensuring success can take many forms and often varies depending on the lifecycle phase of an AoR. In a new AoR, TLs are often very hands-on by creating proof-of-concepts and prototypes. As systems grow, the TL might lead a project with a few other engineers to bring the system to production quality and release it for early adopters to try out. And finally, as the system matures with broader adoption, the TL needs to step back and facilitate team processes for triaging issues, implementing new features, and other maintenance tasks.

Provide technical mentorship to engineers working in their AoR

Engineers love to make progress, and that includes in their personal skills. While engineering managers (EMs) are ultimately accountable for engineers’ continued growth, TLs are closer to the day-to-day technical contributions of engineers in their AoRs and best positioned to give them feedback on how to improve and grow. On a micro level, this includes giving feedback on code robustness, efficiency, maintainability, etc. On a macro level, this includes exposing engineers to new technologies, creating training materials for the AoR’s systems, and helping engineers connect with relevant stakeholders.

Why is Tech Lead a role instead of a career level?

At Yelp, we associate career progression with increased impact (see our recent blog on career leveling). TLs act as force multipliers and explicitly budget time to spend on coordination of efforts, championing their AoR, and mentorship. Clearly these are characteristics that lend themselves towards high impact, and consequently our TLs tend to be relatively advanced in Yelp’s career levels.

However, there are additional ways to be impactful. Tasks like debugging a logging system, refactoring a complex data model, and optimizing page load times require in-depth technical expertise. A TL might not be the best positioned for these tasks; instead an engineer that spends more time deep in the code has the right expertise. You can view this as a depth versus breadth distinction, and a healthy organization needs both types of skill sets. Having TL as a career progression step would funnel engineers into a breadth-first mindset at the detriment of deep technical experts.

In the past, this distinction was somewhat ambiguous at Yelp, and being a TL was occasionally viewed as a career progression step by engineers. To combat this incorrect perception, we’ve recently refreshed our TL program to make it explicit that TL is a role, as well as to re-establish explicit support networks for our TLs like training programs and senior level mentorship.

How does the Tech Lead role contribute to Yelp engineering?

The TL role involves more than just guiding technical work and mentoring engineers in their AoR.

TLs are engineer advocates

TLs identify and remove roadblocks for engineers in their AoR. By nature, engineers excel at finding workarounds or tolerating solvable problems because they want to ship features. Some roadblocks are fairly obvious, such as an unstable deployment pipeline. Other roadblocks can be more subtle, such as not having access to the best tools or training.

When the roadblocks are within their AoR, TLs work with their EMs and PMs to schedule time for proper solutions even if that means deferring some work on the product roadmap. When the roadblocks are outside their AoR, TLs ask their fellow TLs for help.

TLs are allies for their stakeholders

TLs work closely with PMs and EMs in their AoR. TLs participate actively in the early planning process for new features, advising on technical feasibility, level of effort, and potential risks. TLs ensure PMs have the data they need to optimize their product strategy, and TLs ensure EMs can complete new features on schedule with high quality.

Many AoRs have stakeholders outside Yelp Engineering, such as Sales & Marketing, Business Operations, and Finance. TLs work hard to develop empathy for the needs of these stakeholders.

TLs are communication hubs

TLs simplify communication by coordinating the flow of information around their AoR. This aspect of the role means TLs spend less time building and more time reading, writing, listening, or talking.

TLs cultivate a sufficiently broad context about their AoR through a generous reading list of emails, Slack messages, product & technical specifications, JIRA tickets, and GitHub PRs. TLs also use external sources to develop context. They read blog posts, attend technical conferences, and participate in open-source communities.

TLs meet regularly with other TLs to exchange context, creating a collaborative community of technical leaders focused on solving “big picture” problems. They also meet with EMs, PMs, and external vendors. In short, being a TL means you’ll have more meetings. Not as many as an EM or PM but more than a typical engineer.

What is a Group Tech Lead (GTL)?

GTLs own the technical work of a group of overlapping or related AoRs, each with its own TL. Effectively, GTLs create second level AoRs that cut across clean organizational and technical boundaries to address critical business needs and drive company-wide technical initiatives.

We introduced the GTL role because some hard, cross-cutting problems seemed impossible to solve without a dedicated owner. In the beginning, the role GTL didn’t have a formal application process, and the expectations weren’t clear, except that a GTL was a TL with a much larger and more ambiguous scope. Though we’re still figuring some things out, the role of the GTL has matured considerably over the past few years. There’s a formal application process and clearer set of expectations for GTLs beyond those we’ve covered for TLs in general.

GTLs are experts in the their fields

GTLs stay informed on industry best practices, future trends, and potential risks. They understand and influence Yelp’s business strategy. Using their expertise and knowledge, GTLs guide their groups in making the good technical decisions that best support Yelp’s business strategy.

GTLs keep a holistic view on engineering health and success

As a community, GTLs have awareness across most of Yelp Engineering, and they work together to support the overall health and success of the engineering organization.

GTLs monitor recent incidents/retrospectives for trends and consistent issues that need more focused attention (particularly help from other GTLs). GTLs look for valuable cross-group projects that may otherwise be missed, evaluate potential solutions, and make recommendations for next steps. In many cases, these projects require careful planning and long-term investments spanning years, not just months or quarters.

GTLs foster technical leadership

Being the most widely-scoped technical role at Yelp, GTLs are positioned to develop technical leadership across engineering, not just within their AoR. This involves both training new TLs and ensuring that existing TLs are set up for success.

Each week, GTLs hold office hours, alternating between North American- and European-friendly time slots. Anyone, not just TLs, can attend these office hours to ask questions, solicit feedback on technical proposals, or just listen to what’s being discussed. GTLs also participate in asynchronous discussions on Slack.

GTLs are exemplars of Yelp’s culture

Finally, as highly visible leaders, GTLs set positive examples of our Yelp values. They “play well with others” by handling disagreements constructively and demonstrating how to solve problems through consensus rather than authority. They are “tenacious” and “unboring” by finding creative solutions to Yelp’s most difficult, far-reaching problems. They are “authentic” by communicating openly and honestly, and they “protect the source” by making reliable products and services that help connect Yelp’s consumers with great local businesses.

Up next: How Yelp approaches engineering management

We hope you’re enjoying this blog series and find the peek into Yelp’s engineering culture meaningful! Next up we’ll discuss Yelp’s approach to engineering management, how we measure managers’ success, and provide a glimpse at their responsibilities and values.

Finally, if you’ve been reading these posts and think Yelp sounds like a great place to work (it is!), then head over to our Careers site – we’re hiring!

This post is part of a series covering how we're building a happy, diverse, and inclusive engineering team at Yelp, including details on how we approached the various challenges along the way, what we've tried, and what worked and didn't.

Read the other posts in the series:

Back to blog