Home/Blog/How Google onboarding improved developer productivity
Home/Blog/How Google onboarding improved developer productivity

How Google onboarding improved developer productivity

DevPath Team
5 min read
content
5 Components of Developer Productivity
Setting Goals
Defining Signals and Metrics
Takeaways for Your Dev Team 

As companies expand into new markets, they have to scale their engineering orgs to support increased demand. However, the more developers you hire, the more managers you need to help teams communicate.

This rapid hiring pace is unsustainable, which is why companies like Google focus on a more cost-effective solution: making each developer more productive.

Ciera Jaspan and Collin Green lead the Engineering Productivity Research Team at Google. The team has pioneered a data-driven approach to understanding and unlocking developer productivity, which Jaspan and Green recently discussed on Abi Noda's Engineering Enablement Podcast.

Based on the team's research, Google has established a method for measuring developer productivity that:

  1. Balances short and long-term productivity

  2. Sets goals, signals, and metrics to gather meaningful data

  3. Keeps data collection as simple as possible

Standardize processes and docs across Product and Engineering Teams
Standardize processes and docs across Product and Engineering Teams

Let's explore how Google defines and measures developer productivity.

5 Components of Developer Productivity

According to Google's Engineering Productivity Research Team, developer productivity can't be reduced to a single number. The team takes a holistic view of productivity, incorporating product-focused outcomes as well as facets of the developer experience.

The resulting definition, QUANTS, breaks developer productivity into five components: 

  1. Quality of the Code: Do test cases prevent regressions? To what extent can an architecture mitigate risk and changes?

  2. Attention from Engineers: How often do developers reach a flow state? Are they distracted by notifications or encouraged to context switch?

  3. Intellectual Complexity: How much cognitive effort does this task require? Are developers dealing with unnecessary complexity?

  4. Tempo and Velocity: How quickly can developers complete tasks? How many tasks can they complete within a set timeframe?

  5. Satisfaction: How satisfied are developers with their tools, work, and end product? Are developers experiencing burnout?

QUANTS recognizes that developer productivity is influenced by a complex interplay of factors that extend beyond simple code output. For example, rapid efficiency gains might accelerate developer productivity in the short term — but they can also lead to technical debt and developer burnout over time. 

By considering elements such as well-being and work satisfaction, Google aims to create a more nuanced and comprehensive picture of what truly drives productivity. As a result, engineering leaders can work towards building a more effective and sustainable development process.

Setting Goals

Google resists defining a blanket set of metrics for their engineering org. Instead, they emphasize capturing meaningful data that aligns with team and project-specific goals.

To ensure data is useful for its context, Google guides engineering leaders in setting high-level goals that cover as many QUANTS components as possible. By defining goals with multiple components in mind, developer teams can avoid inadvertently improving one component while diminishing another.

In her chapter from the book Software Engineering at Google, Ciera Jaspan provides sample goals from Google's readability team:

QUANTS

Goal

Quality of the code

Engineers write higher-quality code as a result of the readability process; they write more consistent code as a result of the readability process; and they contribute to a culture of code health as a result of the readability process.

Attention from engineers

We did not have any attention goal for readability. This is OK! Not all questions about engineering productivity involve trade-offs in all five areas.

Intellectual complexity

Engineers learn about the Google codebase and best coding practices as a result of the readability process, and they receive mentoring during the readability process.

Tempo and velocity

Engineers complete work tasks faster and more efficiently as a result of the readability process.

Satisfaction

Engineers see the benefit of the readability process and have positive feelings about participating in it.

Without clear goals, teams risk prioritizing metrics that seem impressive or important, but don't align with the project's true objectives. The ripple effect of misaligned metrics can be profound:

  • Decreased motivation among developers who feel their work is being reduced to mere numbers without context or purpose.

  • Haphazard resource allocation that can increase technical debt and undermine project quality.

  • Mismatched expectations with stakeholders, who might lose trust in a team that prioritizes the "wrong" indicators of success.

Defining Signals and Metrics

Once developer teams set high-level goals, the next step is to define corresponding signals and metrics.

  • Signals: How we know we've achieved our goal. These indicators may or may not be measurable. 

  • Metrics: Concrete, quantifiable measurements that capture signals.

For example:

widget

Source: "Measuring Productivity" by Ciera Jaspan

Signals and metrics help teams move from abstract goals to actionable steps. However, not every goal needs a "formal" quantitative or qualitative metric to enable progress. In fact, overcomplicating data collection can slow teams down.

Google encourages leaders to employ the simplest metric that will provide valuable insight:

A team leader will come to us and say, “We’re really trying to buy down the technical debt in our code base. Can we run your technical debt survey to understand whether we’ve done that?” I’m like, “How big is your team?” They’re like, “It’s 12 engineers.” It’s like, “Why don’t you guys just have a meeting and you can talk about where you still see hindrances? Your engineers are experts at this. They’ve actually waded around in your technical data and your code base. They don’t need to take a survey to understand that.” — 

Standardize processes and docs across Product and Engineering Teams
Standardize processes and docs across Product and Engineering Teams

  

Free Resources

DevPath by Educative. Copyright ©2024 Educative, Inc. All rights reserved.

soc2