End-to-end recruiting, hiring, and onboarding in a single place.
When I was at Google, I was spoiled with some of the greatest internal tools on the planet. Because they accomplished so much for us, I was always amazed by the problems they couldn’t tackle. One that stuck with me was the huge overhead of managing headcount—from budget to hiring and allocation, staffing was an enormous time suck.
We had a handful of tools that could do bits and pieces of each, but they were very rigid in how they connected to each other, forcing each manager to run their own shadow accounting process.
Looking back, our program managers, chiefs of staff, engineering leadership, and finance teams spent untold hours just trying to get the numbers to line up. And that was before the real work of optimizing allocations began.
At the time, I assumed this pain was an unavoidable part of life as an engineering leader. But managing staffing, hiring budgets, and interview loops while managing re-orgs, internal transfers, promotions, and resignations was like hitting a moving target. And I’m not alone in feeling this way. I’ve heard nearly identical complaints from many other managers at a wide variety of other companies, all wishing they could save time on accounting to have more time for building.
Over the years, two insights have helped me solve many staffing challenges, culminating in what I’ve come to call my Staffing OS:
We need to look at staffing holistically. Running an effective staffing process means connecting headcount budgeting, allocation, hiring, onboarding, and everything in between.
We need a flexible system that can handle real-world complications. People management is never clear-cut. Changes like transfers, exits, longer-than-expected leaves, re-orgs, and more always alter your original plans. So you need to be able to look at staffing (how many people do we have today, how many will we have in four weeks, where are the gaps, etc.) in many ways.
The 3 most common problems staffing engineering teams.
In my years of running teams, I’ve seen three very common categories of staffing-related challenges that engineering leaders face:
Headcount management
Controlling your headcount amidst endless moving parts can be overwhelming. And predicting different scenarios and how you’ll react can get messy quickly.
How many people were on this team last quarter? How many today? How many will be on the team in six weeks, factoring in all planned changes?
We have three people transferring teams, one new hire starting in two months, and one person leaving in three months. What are the open roles I need to hire for and who are the hiring managers?
Two engineering managers are arguing over backfill positions from last quarter. What allocation changes did we make then?
Why doesn’t my roster match finance’s view?
Hiring and interviewing
Applicant tracking systems (ATS) like Greenhouse are great for managing candidates, but often lack actionable reporting. And the ATS usually isn’t to blame—they don’t have insight into your hiring plans and thus can’t give you the bigger picture.
How quickly are we filling these roles? Is the recruiting team looking at candidates with the right profile for the job description and requirements?
Is my ideal profile for this role realistic? What does the recruiting pipeline look like?
How are we tracking towards diversity goals? Which stage of the pipeline do we lose candidates from URGs?
Who is spending how much time interviewing? Is it effective? Is the load balanced fairly across my team?
New hires and onboarding
Once you’ve performed your headcount planning, gone through the recruiting process, and signed your candidates, the real work begins.
Onboarding is vital to the performance and longevity of your new team members, but often engineering onboarding is left up to individual teams or isn’t formalized at all. Combined with a lack of reporting, this makes it difficult to accurately diagnose issues with your onboarding plan as well as see how your new hires are ramping up.
Which teams do I assign my new hires to?
How quickly are my new hires becoming productive?
Which new hires are struggling? Why?
Who is thriving and what can we learn from them? Which new superstars should I watch?
Staffing OS: Bring 3 workflows into one.
My staffing OS consists of three distinct solutions, each solving one of the problems described above. While they work as standalone templates, they’re designed to work together in one complete operating system. By integrating all three of these processes into one place you create a single source of truth for you, your people managers, and your recruiting team.
1. Headcount management: Track and predict current and future headcount.
I am sure that every engineering manager has built countless headcount tracking spreadsheets in their career. Actually, there are usually two that go hand-in-hand: one to manage the headcount budget and a second to manage the assignment of people to teams.
These spreadsheets are often based on another spreadsheet provided by finance that tracks everyone currently on payroll. And while the finance spreadsheet is helpful when digesting what your team looks like for one specific moment in time, chances are your engineering team will change by the month, if not week. So engineering managers try to account for and predict the changes they know their team might incur, like future transfers, planned and unplanned attrition, new hires, and broader re-organization.
You typically have to create different views of the data, e.g. who is on the team today, who is on the team next quarter, how much has the team grown since Jan 1st, what will the size of the team be next quarter, etc. The formulas quickly grow complex, the data goes stale, and everything is so fragile you’re afraid to touch it.
Why Coda? Create customized personal view of your data.
How to get started.
Like I mentioned earlier, this is one part of a larger system. Using the headcount budgeting template is the fastest and easiest way to get started with my staffing OS. But to get the full benefits, you’ll eventually want to map your headcount budget to your existing staff, track planned changes, and use it to determine which roles to hire for.
2. Hiring: Observe and report on every stage in your hiring funnel.
Many modern companies use dedicated Applicant Tracking Systems (ATS), like Greenhouse, to manage their candidate applications. These tools are great in many ways, and we use them at Coda too, but the biggest qualm I hear from engineering leaders is that they need better insight into specific pipeline(s) across hiring managers with reporting that connects to staffing plans outside the ATS.
Why Coda? Make raw data insightful and actionable.
The main source of pain is having a single source of truth for the entire hiring pipeline. Coda solves this by combining information from many different sources into one doc, so that you can see the bigger picture instead of scrambling to connect the dots.
But when I’ve asked friends and colleagues who have adopted my staffing OS for feedback, one theme stood out: the ability to make the data insightful and thus actionable. And I think that’s what makes Coda so perfect for a scenario like this. It brings your data together, and then gives you the tools (formulas, charts, and AI summarization) to glean insights from the noise.
How to get started.
Selfishly, this scenario was why I pushed for our team at Coda to create the
years ago in order to build my hiring pipeline template. By connecting Greenhouse and Coda, I was able to integrate my Greenhouse data with my candidate pipeline tool. Now I can see my entire pipeline, create custom reports, and quickly answer the questions like, “How quickly are we filling these roles?,” “Are we bringing in a diverse candidate pool?”, “How are we tracking toward our diversity goals?”, “How much time are my engineers spending interviewing?”, and “How fair is interviewing load balanced across my team?”
We even moved our meeting notes into the same doc as well, so that truly all information related to candidates lived together. No more need for my recruiters to create manual pipeline reports or copy data between five different places. Instead, they get to spend more time doing their actual job: finding amazing new engineers.
I’ve broken my hiring solutions into three modules that you can combine depending on your needs:
3. Onboarding: Get your new engineers assigned and up to speed quickly.
You received headcount from finance, worked with the team to determine your gaps, went through the interview loops with recruiting, and you’ve finally got your candidate signed. Now what?
Why Coda? Centralize onboarding assets for a seamless, unified experience.
To avoid belaboring the point, I’ll keep this section brief. Coda’s flexibility—which you read about above in headcount management—paired with its ability to bring teams and tools together make it uniquely suited to create, maintain, and adapt your onboarding plans. I cover more on the best way to centralize this information for a seamless and uniform onboarding cycle in
There are two things every engineering leader needs to solve with regards to new hires:
Allocating new hires to teams and assigning managers. In some companies this is decided before the interviewing process, but for roles like generalist software engineers, this can be done later in the process or even after the candidate has signed. I recommend allocating new hires via the
that I mentioned earlier as they will replace one of the open roles tracked there.
Ensuring a smooth and supportive onboarding experience. The quality of onboarding often determines a new hire’s value to the company and even how long they stay with your organization. Too often onboarding is left to the team they’re joining, instead of being a standardized program for all engineers.
You can use the productivity analytics template from
to take a specific view of new hires, to see who might be struggling or who might be ramping up particularly well, and learn from them. And you could also have Coda set up an automatic meeting three to six months post hire, using the Google Calendar Pack.