You’re reading an excerpt of The Holloway Guide to Technical Recruiting and Hiring, a book by Osman (Ozzie) Osman and over 45 other contributors. It is the most authoritative resource on growing software engineering teams effectively, written by and for hiring managers, recruiters, interviewers, and candidates. Purchase the book to support the author and the ad-free Holloway reading experience. You get instant digital access, over 800 links and references, commentary and future updates, and a high-quality PDF download.
Candidates and hiring managers might imagine the recruiting and hiring process fairly simply: a company describes the desired role, somehow sources people or solicits applications, filters and interviews these candidates for the role—and then picks the best. Rinse and repeat, right?
This way of thinking is dangerously oversimplified: it describes a process, but not the goals. A company or hiring team has needs. And candidates have needs. The goal of a good hiring process is to find common purpose between the candidate and the company.
DefinitionCandidate-company fit is a hiring goal and philosophy that emphasizes the importance of alignment between companies and candidates. The primary factors considered in candidate-company fit are company needs, candidate motivations, and the values each party holds.
Rather than a template process or a copy of what “successful” companies do, hiring well is a matching problem, which means the process must be unique for each company and role.
importantThe manager and the role are what connect the candidate and the company. Unless the manager and role are right for the candidate, the fit will be poor; one or both will have to change, or the candidate won’t work out. That’s true almost everywhere. But what determines that fit varies a lot. The ways these needs connect depends on the company, situation, and role.
Figure: Candidate-Company Fit
I think a key to a happy and successful career might be simply working somewhere you’re wanted. It’s easy to talk about working somewhere with great perks and strong culture, et cetera. But if your abilities are underutilized you’ll just burn out doing things nobody appreciates.Tanner Christensen, co-founder, HelloShape*
Read six complete sections of this book for free.
Get six free sections of this book in your inbox over the next two weeks.
When it comes to whether a candidate will accept an offer from a company, or even pursue a particular role, consider the candidate perspective—what motivates them? Motivators, which you can also think of as candidate needs or deciding factors, can be extrinsic or intrinsic.
Extrinsic motivators include title and compensation, and practical necessities like location. Intrinsic motivators include a sense of purpose, satisfaction from working toward a mission they believe in, feeling valued, working with a team they respect and that inspires them, and the way the work challenges them to improve.
Breaking down candidate needs into internal and external motivators is inspired in part by the work of business psychology author Daniel Pink. In his book Drive, Pink breaks down what motivates our work into these two categories. Pink’s thesis is that for nonroutine, creative work (like software engineering), intrinsic motivators are much more powerful.* In fact, over-relying on extrinsic incentives like money to motivate people in those roles can be counterproductive.
How do candidates decide to join a company? Most people take on a new role because the role meets all or most of their needs. Before joining a company, a candidate may have discussions with friends and family and even do some spreadsheet math to determine what these needs are and whether they are being or would be met.
candidateIn his thorough post “Visualizing a Job Search,” San Francisco-based engineer Kelly Sutton maps out the process he followed to eventually land an engineering role at Gusto. For anyone looking to organize their job search, it’s incredibly helpful—he even provides a template for the worksheet he used to develop and track his hit list of companies.
After talking with numerous engineers, hiring managers, and recruiters, we’ve found these deciding factors are deeply personal but also shared among many. In practice, it seems decisions rest on one or more of seven factors; for most people, two or three of these factors will guide their decision.
Extrinsic. Compensation, status, and practicalities (location, benefits, vacation policies, perks)
Intrinsic. Impact, challenge, personal growth, and the team
It is very common for these deciding factors to change over a person’s career. In fact, it’s often shifts in these deciding factors that determine job and career changes. People’s needs change when their lives change: marriage, children, and new caretaking responsibilities, for example.
In a 2019 survey, Glassdoor found that mission and culture matter more to most candidates than outright compensation. Christian Sutherland-Wong, Glassdoor President and COO noted that “Job seekers want to be paid fairly but they too want to work for a company whose values align with their own and whose mission they can fully get behind.”
important Hiring managers need to understand these motivators as potential deciding factors for candidates, and which of these are considered essential motivators for new team members. For example, many executives believe in hiring only people who have strong mission alignment, meaning that they are highly motivated by the impact of the company. If the role requires learning a lot of new skills quickly, it’s wise to hire someone excited not just by challenge, but by personal growth.
Compensation. Compensation is primarily cash (salary and bonus) and equity (some form of ownership in the company, such as stock, stock options, or RSUs). The balance someone will prefer between cash and equity depends on practicalities and risk tolerance. Practicalities like family needs are particularly important and often overlooked. Does the candidate have children in childcare, do they have caretaking responsibilities for parents or spouses? They may require cash over equity. Risk tolerance in candidates is related to whether they are willing to trade some cash for equity, with the chance to have a more lucrative outcome later. Companies that communicate with a candidate about their risk tolerance and practicalities like their family situation can tailor a compensation package to the candidate that will make them feel heard. Note that compensation also includes benefits like healthcare for the employee and their family.
Status. The status of working for a well-known or well-respected company is a deciding factor for a lot of people. Impressive job titles also confer status to friends and connections. Status might give a candidate a sense of personal achievement; or it may satisfy family or impress friends. Even if people are sometimes not comfortable talking about it, status can be a very powerful consideration. For this reason, job titles can be a key concern for many people eager to see their career grow quickly. Often, people may switch companies (or teams) if they don’t see a path for growth ahead. (Companies should be mindful of the fact that titles, while free, aren’t cheap. Giving away senior-sounding titles arbitrarily to appease status-motivated candidates (so-called “title inflation”) can lead to challenges down the road.)
Practicalities. Practical aspects of a job include things like commute time, work-from-home policy, parental leave policies, time-off policies, geographic location, and schedule. Some people are also influenced by other perks, like free meals, a stylish office space, or on-site gyms or childcare.
Impact. Does your work matter to the broader world? This includes both company impact (what effect on the world the company has) and personal impact (what your own impact on the company and the world is). Candidates who care about impact ask themselves, “Do I care about this company? Do I believe that what the company and I am doing is worthwhile? What is the outcome for others if I do my job well? What is the mission of the company and does it resonate with me?” Especially for senior or uniquely skilled candidates, personal impact can be a key factor: In terms of overall results, is this role the best use of the candidate’s time and talent, compared to other roles they might take on elsewhere?
Challenge. Technical or product challenges that are intellectually engaging can be a very strong motivator for talented, driven candidates. They might be looking for the kind of work that puts them in a state of flow, where the goals they need to meet are not daunting, but motivate them to improve. They feel a high sense of reward at accomplishing something and learning new skills in order to do so. Challenge-motivated candidates are usually also looking for hard-working teams.
Personal growth. People focused on personal growth care most about gaining new skills and knowledge and experience. While this is closely related to challenge, it’s not the same. Some like to repeatedly solve hard challenges within a single domain (such as a brilliant problem-solver who tends to focus exclusively on difficult algorithmic problems). Others prefer learning entirely new skills (such as an engineer who wants to understand how her work on product development relates sales).
Team. Most people want to know that the team they’ll be working with won’t bring them down. But how people are or are not motivated by others can be very different. Some engineers will work best when they feel needed and appreciated, while others are looking for colleagues that keep their heads down and stay out of each other’s way. Some people want to learn from others, some people want to be mentors. In addition to work styles, candidates may consider what talents are strongest on the team, whether they know anyone they’d be working with, or what opportunities are offered by working with these particular people.
candidate Think about what motivates you when you’re contemplating a new job. It’s common for engineers to decide between jobs without sufficient reflection on what their own wants and needs are. Not doing so can pretty much guarantee dissatisfaction in a new role. It can be helpful to reflect on past experiences, good and bad, when trying to determine which factors motivate you now. At what point have you worked on something exciting? What was personally rewarding about that work? Which of these attributes made the difference? Tammy Han lays out a decision matrix for candidates in her excellent primer for startups and candidates.
The hiring team is wise to have a few careful conversations to be sure what they’re looking for truly aligns with the company’s goals, and that they can articulate this clearly to candidates. Knowing what differentiates your company is the inner work you need to do as a company and team, even before you decide what abilities are needed. Both selling and knowing your needs depend on knowing who you are. Three questions can help with this:
What are we building? Every hiring manager or leader should be able to describe what their team is building and why it matters. When you’re hiring, you and your team are going to have to explain this over and over to candidates.
What differentiates us? What makes your company or team unique or different? Talented people do not accept jobs lightly or quickly—they need to know why they’re joining your company over others. This could be what you’re building, the impact, the approach, the team, the growth or traction, or even just the compensation. But you need to know what sets this team apart from others.
What abilities are needed on the team? The first part of this is fundamental: Do you even need to hire? Hiring excessively is just as dangerous, if not more so, than hiring too slowly. Assuming you do need to hire, what unique abilities of employees are needed to achieve the team’s goals?
It’s worth taking a systematic inventory, or at least a discussion with senior staff, to be sure you’re in agreement on why you’re hiring in the first place. Reasons to hire can include:
There is a specific job needed right now, such as an IC or a manager. This is most common.
To prepare for a new job needed soon, due to new needs or team changes.
To access previous knowledge or experience that fits exactly what is needed now. On a team that is building a mapping application, an engineer who has worked extensively with geospatial data has unique value.
To lead building a team or attracting talent.
To connect externally, via network or relationships that person has, or building trust or credibility with customers, investors, or other stakeholders.
For a big company, some of these questions would be for your organization or group, as well. For an early startup, answering these questions is one of the jobs of the founders.
The terms company values and culture are often used interchangeably to refer to a company’s beliefs about the world and their “way of doing things.” But they are not the same. Mixing up values and culture can lead to inefficient and unfair hiring practices. When your goal is candidate-company fit, it’s essential to focus on values alignment rather than “cultural fit.”
Company values (or company core values) are the foundational beliefs that are meant to guide a company’s behaviors and decisions. They often reflect a view of how the world is or should be.
Having a clear set of company values is tremendously important to the success of a business. These values guide decision-making in all parts of the company, whether high-stakes strategic or ethical decisions or smaller day-to-day decisions (which, in aggregate, are just as important). Clearly stated values also provide a structured way to resolve disagreements.
Company culture is a description of the traits and behaviors of people at an organization; it is defined by the set of behaviors that are tolerated, encouraged, or discouraged. Culture may or may not be founded on a set of company values, and company culture and an individual team’s culture may differ.
Values alignment, an essential element of candidate-company fit, arises when the candidate and the company have compatible perspectives with regard to work styles and mission. When faced with difficult decisions, would the candidate’s values help them make decisions that promote company goals? Does the candidate feel comfortable with or inspired by the way the company conducts itself, and vice versa?
Culture without values puts you in the dangerous position of repeating patterns and behaviors that do not line up with how the company wants to see itself or what the company wants to accomplish. It’s worth noting that a company without explicitly defined values will still have a culture—just one that stems from the personalities and behaviors of its leaders and early employees, rather than one having any careful thought, design, or purpose.
Values and culture, within and outside of a company setting, usually stem from things like tradition, background, and comfort. As with any criteria that places constraints on who you hire, there’s a risk that, if taken to an extreme, values and culture as hiring criteria can result in homogeneity—similarity of thought, behavior, and demographic makeup, none of which are good for business nor employee retention.
Values can be a key selling-point to potential hires—candidates want to know that what motivates them will be valued by the company and team. The product Key Values lets companies share their values with candidates, who can browse and search by the values they care about to find suitable companies.
If your company values are not well-defined, it will be difficult to assess candidate-company fit properly. At larger companies, some form of written values may already exist; if you’re the founder or hiring manager at a startup, or you’d like your team to reflect on its values, we cover defining company values in Appendix B.
How Strong a Fit?
Joining a company full time is a big decision. Even in an age when engineers switch jobs frequently, a successful hire will be spending years of their life, at 40 or perhaps 60 hours a week, working and thinking about their work. It usually takes months or even years to ramp up and learn the context and technical details to be successful.
Technical software hires can also be in high demand, especially for the most talented engineers. The best candidates may have many options. They are not just deciding what company to work for; they are deciding what other opportunities they are giving up. If it’s not a good fit in terms of the work, the manager, the role, the mission, or values of the team, people are likely to move on quickly.
These considerations show how important it can be to focus on finding a strong fit for both sides.
A strong fit in hiring occurs where the candidate feels fulfilled with the job and role, and the company is deriving significant value from the candidate’s performance.
On the other hand, there is rarely anything like a “perfect” match. With enough shared purpose, the best candidates grow into roles and become a better fit over time. The real goal is to find a match good enough for the company and the candidate, and to subsequently invest in strengthening that relationship. From a company’s perspective, how strong a fit to seek when hiring is dependent on two key concerns:
Demand and scarcity for this role. Are engineers for this role hard to hire? This could be because the demand is high (think of fullstack engineers, who are in high demand at numerous companies), or because the skill set is scarce. Scarce skills usually mean highly specialized experience and could be anything highly specific—like genomic data, high-frequency trading, geospatial systems, specific hardware, or PhD-level academic training in specific machine learning problems. What are the opportunity costs for these candidates in joining your company—that is, what are they giving up by joining? In a lot of geographies and for certain kinds of engineers (such as Stanford-educated machine learning and fullstack engineers in San Francisco or New York), demand and opportunity costs are extremely high. In a tight market, without strong candidate-company fit, this hire may move on soon.
How mission-critical the role is. Will the performance of the person filling this role make or break the team or the company? If a role is going to be part of your company’s critical path or key competency, you might need a candidate who is “best in industry.” The importance of software engineering as a function can vary from company to company. And the importance of roles within engineering teams may also vary. For example, in “deep tech” industries, a company’s success may hinge on its ability to deliver the most superior technology. An autonomous vehicles startup may need “best in industry” computer vision engineers, but be more comfortable taking a risk on the software engineers building its website.
Of course, how strong a fit needs to be is also related to stage and depth of skills needed for the role. In early-stage startups, or for highly specialized positions that require exceptional talent, the fit is all the more important. For larger companies, or any company that can invest more time and capital in training, finding a fit that’s “good enough” may be easier.
Costs of Hiring Poorly or Too Fast
Almost every leader in a company will say they care about hiring the right people. A poor fit can be very costly to your company and team. For instance, an employee who lacks the technical skills needed to meet expected outcomes for the role could slow down and frustrate your team, or introduce bad code into your codebase. A “toxic” employee could damage your team’s culture in ways that are really hard to reverse. You can work to minimize the cost of a poor fit by ensuring that you detect and rectify those situations quickly, but if you find that you are hiring poor fits repeatedly, it may be a sign that you need to slow down and iterate on your process.
No hiring process is perfect, and the costs of making the wrong hire do vary. In an early-stage company, a hire that doesn’t work out can be much more costly than at a later-stage company that has a bigger team and processes to deal with inadequate performance. Similarly, for key or senior hires, the cost of poor hiring decisions can be very large, with impact on an entire team.
Costs of Hiring Too Slowly
Almost every company thinks of their hiring needs as urgent, but how quickly does the company need to move to meet those needs? While the repercussions of a poor fit can be very painful, it’s important to think about the opportunity cost of not hiring quickly enough. Part of this cost might be visible in the form of work that isn’t getting done due to lack of resources. But part of that opportunity cost might be less detectable. While it’s usually pretty obvious when you’ve made a bad hire, it’s not always clear when you’ve missed out on a candidate that could have fundamentally altered the trajectory of your company. In a hyper-growth startup, not hiring quickly could mean failure of the whole company, so riskier hires or more aggressive processes may make sense. In an earlier-stage startup, where exceptional hires are critical, or at an established company where people can transition roles internally, it is often wise to prioritize care and a high bar over speed.
On Hiring “The Best”
Much conventional wisdom around recruiting centers on only hiring “the best” (or the “rockstars” or “A players” or “10x engineers”—terms many engineers dislike!). Under that model, companies should hold a high bar and reject candidates whenever they are in doubt.
In reality, this advice oversimplifies the complexity of hiring well. “The best” is hardly as precise a concept as we’d like to think it is. Technical software roles can be highly specialized in both hard and soft skills, and teams vary widely in values, expectations, and style of work. In spite of technology stacks and qualifications being listed succinctly as if they are menu items—“3+ years of Python” and “GraphQL and Node experience a plus”—an engineer with those specific skills might excel at a large enterprise company, but struggle to meet expectations at a small startup in a role that has a seemingly similar job description. Or they might excel at the startup but find the lower cash pay or the stress of uncertainty incompatible with their life—someone with “the best” experience may not be the best fit for your company.
There are recruiting advantages to specificity around what makes a great engineer. If you define “the best” the same way many other companies do (by traditional pedigrees like a four-year degree from a top school and time at a FAANG company), you’ll end up competing with a large number of companies for a small pool of mostly homogenous candidates. Will you be able to win those candidates over? Can you pay the top-of-market compensation that those candidates expect? Are they actually the candidates most likely to help your company succeed and to succeed in the role? What qualifications are actually essential for success?
Rather than battling the forces of supply and demand, you could rethink what attributes you really value. You might also explore other, creative ways of hiring great candidates that are underappreciated in the market, like candidates that other companies might frequently overlook, or looking in adjacent markets. For example, when Lyft was building its self-driving car team, technical talent with familiarity in that space was in short supply (the self-driving industry is young) and high demand (due to competition from both larger companies and up-and-coming startups in the self-driving space). Rather than just compete for the same candidates as everyone else, Lyft realized that the much more established gaming industry employed many people with similar skills and interests, and tapped into that much larger and less-competitive pool of candidates.
The most important thing you can do is to figure out a way to have as few people on your team as possible. The fewer the people, the less you need to recruit. Recruiting is really hard and it takes a really long time. Recruiting one hire can take up to 100 hours of your team’s collective time. That’s time that is not spent making the product better or getting customers.Auren Hoffman, CEO, SafeGraph*
One of the biggest mistakes companies can make is hiring for the wrong reasons or at the wrong time. Whether you’re a founder at a two-person operation or a hiring manager at a larger company, the first question you need to ask yourself when creating a hiring plan is this: do you really need to hire? Recruiting is an immensely time-intensive task. Just because you might have the money or budget to hire and some work you think needs to get done, that doesn’t always mean you necessarily should hire someone new. Given the financial costs and risks to teams and infrastructure, hiring should not be taken on just because you think it’s time to scale up.
So before you define specific roles and start writing job openings, it’s a good idea to work back from what your team or company needs to build or deliver, and then ask:
You’ve been reading an excerpt of an online book. Support the authors and the ad-free Holloway reading experience by purchasing it for instant, lifetime access plus a PDF download.