It’s no secret that the job of an engineering leader is hard, filled with constant challenges from every direction—from planning and resourcing, to staying on top of countless critical projects, to tackling difficult technical problems, to facing permanent hiring pressures, and, of course, balancing project velocity with quality with a need to maintain and improve existing code. And their team faces many challenges of their own. The role of individual engineers goes beyond writing code and fixing bugs—they end up helping manage their team’s projects, monitoring and improving existing services, resolving customer tickets, interviewing new candidates, and more.
But I’m getting ahead of myself. Hi, I’m Oliver. 👋 I’ve been the Head of Engineering at Coda since 2021. Before that, I spent 14 years as a VP of Engineering at Google. There, I ran different teams like the YouTube Creator team, and the Google Travel and Shopping teams. Along the way, we built a litany of products like Google Flights, Google Shopping Ads, YouTube Content ID, YouTube Music, Gmail Frontend, and many more.
In this time, I’ve learned a thing or two about what makes engineering teams successful, and what can often hold them back. And, since I joined Coda, I’ve had the chance to hear from 100s of our customers about how they run their engineering teams, learning what is working well and what challenges they face. I’ve seen that having the right tooling and data can make an enormous difference. And that’s why some of the best engineering teams and leaders are constantly striving to improve how their teams and processes run.
So I set out to create this handbook, documenting the most impactful lessons I’ve learned from my own career and sharing insights from talking to 100s of engineering leaders in tech. What I’ve found, in short, is that there are many recipes for success—some simpler, some harder—that can dramatically impact your team’s productivity, quality of work, business impact, and contributor happiness. And, of course, I think Coda can be the perfect solution to nearly all of these problems.
I’d love to hear your feedback as you read—you can find me on
Four engineering team rituals and how Coda transforms them.
Coda is used in countless ways by engineering teams, but I’ve seen a set of common rituals emerge. Each ritual stems from a problem that will probably sound familiar if you’ve been part of any engineering organization. And, with each, I’ll describe how I’ve seen teams solve the problem with Coda. There’s plenty to dig into, so let’s jump in.
Ritual #1: Team hubs give your team a single source of truth and a single place to work.
Problem: Information is hard to find, impossible to trust, or both.
One of the most common paradoxes I hear when talking to engineering teams goes something like this:
“We have an overwhelming amount of information, but I can’t find the information I need.”
Nearly every engineering team I’ve observed is fragmented across multiple tools. One for OKRs, one for tasks, one for roadmaps, one for meetings, one for bug tracking, one or more for wikis—the list goes on. When I ask an engineering leader to show me where their team works, without fail, they will pull up a laundry list of different tools—GitHub, Jira, Google Docs, Confluence—and that’s just what they had top of mind.
A capable engineering leader will see quite quickly that any time spent searching for information or manually updating tracking spreadsheets is simply wasted time that could have been spent building things.
Solution: Consolidate work into a single source of truth—a team hub.
The goal of any engineering leader is to make your teams efficient and effective, working on the things that matter most instead of wasting time on the process. In short, it’s all about streamlining the day-to-day life of your engineers.
We commonly see each team or major project working out of a single hub. And engineering orgs often also have a department hub that contains key information shared across teams, like your architecture, tool stack, processes, and guidelines.
, you can continue to use your engineering tools like GitHub, Jira, and Opsgenie because Coda can pull in data from them. Plus, you can directly edit the data both in your Coda team hub as well as the tool itself. I’ll cover Packs in more detail in the
Ritual #2: Engineering analytics turn your data into insightful, actionable decisions.
Problem: Decision-making is hard, even when you have the right data.
As engineers, we have to deal with many moving pieces, and staying on top of everything can be challenging, especially for leaders of larger organizations. And this isn’t a trivial problem you can ignore—there are never enough engineers to do everything, so we constantly have to prioritize what to build, improve, fix, and maintain.
To make informed decisions, you not only need a high-level picture, you also need to combine data across many sources. For example, say you’re looking at staffing for the upcoming quarter. You’ll need insights into what your hiring pipeline looks like, how each team has been pacing against the prior quarter’s goals, qualitative feedback from managers, data on outstanding bugs and technical debt, and much more.
These decisions are never simple, so you’re generally left with two imperfect options:
Use traditional docs and sheets for back-of-the-napkin math. There’s a reason we come back to our familiar docs and sheets time and time again—they’re an easy way to quickly copy in data from many sources and calculate the numbers you need to make a decision. But it’s easy to make mistakes and, worse still, you generally have to start all over the next time you need to answer the same question.
Find purpose-built tools to help solve specific challenges. There’s a never ending list of tools aiming to solve niche challenges, from software capitalization to hiring pipeline diversity. But you can be sure that each will charge an arm and a leg for the specific but limited value they provide. So it’s easy to end up with a list of new tools, and invoices to match.
Neither of these options are ideal—you either sacrifice repeatability and reliability, or cost and centralization.
Solution: Make informed decisions based on your data with better engineering analytics.
With “engineering analytics” we describe analytical insights into the performance of the engineering organization, allowing leaders to make better project and people-related decisions—as opposed to, for example, business analytics. Solving engineering analytics isn’t a single problem, it’s a family of them. But across many of the analytics challenges your team faces, having a single, flexible surface to connect and analyze your data is the key to turning data into actionable decisions. I’ve seen engineering leaders use Coda to track engineering productivity, execution against planning, software quality, and onboarding progress, among many others.
What’s more, bringing your data into Coda means it can be actionable automatically. You can set automations to push updates to Jira, or alert your team’s Slack channel to key changes in bug load, for example.
Ritual #3: A staffing OS helps your team plan for, recruit, and onboard new talent easily.
Problem: Hiring and budgeting is time-intensive and error-prone.
Managing your team’s hiring and headcount is easily one of the most challenging and time-intensive tasks of an engineering leader.
Recruiters lack real-time insights into the available headcount budgets and, on the flip side, engineering leaders often need to ask for pipeline reports to be manually generated. Ensuring your hiring process is equitable, tracking key diversity and inclusion metrics, can be a significant challenge. So too is managing the interviewing load among your engineers. And once you’ve closed a new hire, you still need to figure out where exactly to allocate them and be sure to track their onboarding process.
Even if you aren’t actively growing, managing headcount budgets and keeping headcount allocations up-to-date can be an unnecessarily time-consuming task. It’s easy to waste significant amounts of time on bookkeeping and accounting for challenges like tracking internal transfers and backfills when you have engineers depart.
Your team’s growth can often be hindered by many interdependent steps across a variety of disconnected tools. Engineering leaders might have headcount spreadsheets that manage their headcount budgets in terms the finance team understands while separately tracking team allocations, planned transfers, and other staffing changes. And the hiring team generally uses an entirely different system.
All of these challenges have a common thread: they are important yet largely procedural tasks that can consume a significant portion of an engineering leader’s time.
Solution: Streamline your pipeline, hiring, and onboarding into a single staffing OS.
Successful organizations create a single staffing operating system (OS) to unify all staffing-related tasks. It typically consists of three related and interconnected components:
Each of these components are valuable on their own, connecting many sources of data and providing a control center to manage your staffing processes. But in combination, they become a single, unified OS, allowing you to manage and review all staffing-related work in a doc that is more than the sum of its parts.
Ritual #4: Effective planning and OKRs make prioritization and execution effortless.
Problem: Planning is harder and slower than it needs to be.
In all my years of running engineering teams, I’ve never heard an engineering leader describe their planning process as both easy and short.
Almost everyone I’ve spoken to wishes their planning process was shorter. And the reasoning is simple—less time planning means more time executing. But even worse than feeling like you’ve wasted valuable execution time, I hear many engineering leaders doubting the quality of their planning process outputs. You end up feeling like you’ve wasted time by moving slowly and not even yielded a quality result as a reward.
Solution: Refine your planning and OKRs and integrate them with your execution environment.
As you might expect, working with hundreds of teams of all shapes and sizes, we’re no strangers to planning here at Coda. Rather, we’ve helped countless teams drastically reduce the time and energy they spend on planning, often cutting down the process to consume only 10% of their overall work time, while in parallel drastically improving the quality of the plans.
Having personally lead dozens of teams and guided hundreds more in my time at Coda, I’ve seen three common patterns that make planning more efficient and effective.
And, of course, Coda works with your existing tools.
Throughout the rest of the handbook, I will be showing how Coda integrates with engineering tools, using Jira, GitHub, and Greenhouse as examples. These integrations are called Packs, and Coda has over 600 readily available for you to use—including many for alternative tools to the examples I show. Furthermore, Coda has an active community of Pack developers that is constantly creating new Packs. And, creating your own Pack is simple—so even if you are using a proprietary tool, it is very likely that Coda can integrate with it.