Aim to Miss: The Best Search Strategy
Aim to Miss: The Best Search Strategy
For many people, hiring anyone who doesn’t meet every qualification feels like a concession. I’m not here to argue that it is a bad idea to hold out for a software developer who checks every box. That’s easy. Instead, I want to sell you on the idea that the best outcomes are most often found at the end of a search that is begun with the express aim of hiring a software developer who is an “80% fit”.
Following are six reasons why this strategy is sound, and then five ways you can prepare to implement it effectively.
1. Job Market Economics
There are more seats for developers than there are developers available to fill them. An average developer who runs an average job search will generate multiple offers. So if you pursue perfection, you will probably have to pay a higher salary when you think you’ve found it. Worse, you will incur a far larger cost as you extend the duration of your search as problems grow and opportunities shrivel.
A lot of people concede that embracing 80% is the best strategy, and job market economics is the reason. But like a person who eats only because food is required to go on living, those who think it through only this far have much to gain from opening their minds….
2. Your Disadvantage is the Job Seeker’s Advantage, Which is Your Advantage
The senior developer hiring team is on the wrong side of an historically lopsided point on the supply-demand curve. This means the developers you want to hire get to be choosy. People with a lot of aptitude tend to want to use it. So
give them the opportunity *sell* them the opportunity to acquire new skills! The chance to acquire skills will appeal to enthusiastic developers. And it sells the fact that you trust competent people to do their thing.
3. Get me some ball bearings, a paper clip, and three sticks of gum…
I once met an atmospheric scientist who had this great story about a time they used duct tape to fix a critical device while they were collecting data on a budget in the middle of the ocean. Imagine setting them loose – with all of their ingenuity and perseverance – aboard a ship equipped with a well-stocked, state of the art lab.
A table saw is a tool, it’s not the creativity and patience of the person who used it to build an exquisite dining table. Say you manage a team building products in Clojure, and you meet a very resourceful developer who loves what you do. They took a functional programming class in college, but never used one in production. So it will take three to six months for them to be able to contribute in the critical path to your team’s Clojure codebase. But while they are learning, this industrious developer can contribute in a myriad other meaningful ways, and as a reward for your foresight and a few months of your patience, you get years of their tenacity and resourcefulness.
4. Learn in context
Anyone who learned how to drive on the right side of the road and then sweated bullets while piloting their rental through London understands the value of learning in context. Even more relevant, so would anyone who studied Castilian Spanish and then moved to Chilé.
A software engineer who learns a technology in the flow of your development process – using your team’s communication style, adopting any beneficially idiosyncratic methods you might utilize – won’t have to break old habits in order to do things in the way that’s optimal for your team. By learning with your specific goals in mind, they will have a brain imprinted with everything required to achieve your particular version of success.
5. Diversity, Technically Speaking
Most people believe that a team will create more successful products if it is culturally diverse. They’re better able to think like their customer base, and a greater variety of perspectives will put a greater variety of ideas in the air, fostering more creative collisions, which in turn cultivates more options and increases the odds of innovation. Without that diversity, they would never know what they were missing.
And so would a team that only hires people who check every qualification box. Envision what happens if instead they limber up and open the door to an 80% fit. Now they get to meet people who have experience using analogous tools in different stacks, or applying different production methodologies. They increase the odds that they will find a better, cheaper, and/or faster way of doing their critical work.
If they don’t find someone who checks all ten boxes – a pretty likely outcome in this market – they might unwittingly greet the eight-boxer they hired with the air of people who feel, inwardly, that they have settled. Then, they will instruct their eight-boxer to learn the other two boxes, and they will do so with ears closed to solutions that they will never know existed.
In the software developer job market, there are no haystacks. But there are needles. Big stacks of needles. The goal is to find a – not “the” – really good needle. Fortunately for hiring teams, they carry a singular magnet with the power to attract the needles that are really good for them.
The primary characteristic of a good needle is one who is eager for the experience you have to offer them, because enthusiasm is the only reliable indicator of success in software developer recruiting. An “A+” developer who is ambivalent about the job might just leave five months after you hire them, since they will be showered with invitations to interview every single week. Or worse, they’ll stick around a bit longer and become toxic. They won’t be an A+ anymore. Costs will mount. Then they will leave. And you will have to recruit and integrate someone new – a costly process, even when executed well. On the other hand, a “B” developer who really cares will reliably get important things done, and they will do so with infectious energy because a good outcome means more than just a paycheck. Further, a team of enthusiastic “B’s” will tend to attract “A’s” who are enthusiastic about the same thing.
Each hiring team is a singular magnet because each team is formed of a distinct blend of people who are doing specific things in particular ways, and its composition is really well suited to certain people. By embracing 80% and prioritizing enthusiasm, you increase the odds of finding a person who loves their job. Do this over and over and you will have a team that is more likely to find great solutions because every one of its members genuinely cares about the problem.
How to Embrace 80% – some steps for getting started
Buy a big eraser and wear it down to the nub…
When preparing the version of your job description that will be shared with the public, vigilantly delete every qualification that a skilled and motivated professional could learn on the job. Require only those that someone must be able to do on day one. In addition to other things, this will make an 80%er feel like a 100%er.
…And then use that extra space in the job description…
…to make it an effective sales tool. Its purpose is to attract people who would augment your company. Speak to those people, only. Show them how they would benefit from joining you. Use the description to put yourself in service to them, establish that you can provide the experience they want. Delete anything that conveys you will greet candidates with arms crossed and the expectation that they have to prove something to you. Treat them like the scarce resource they are.
The key difference is illustrated by the effect of a description that begins with “We want someone skilled in X, Y, and Z” versus one that begins with “If you love to utilize X to produce things that benefit Y, we would love to hear from you”.
Qualifications are traditionally split between “must-haves” and “nice to haves”. The must-haves should remain, well, because you must have them. Consider rebranding “nice to haves” as “things you can learn as part of our team”. Anyone who already possesses any of the skills listed will intuit that they are “nice to haves”, and you will be presenting yourself as a team that trusts its people to grow.
Seek 80% candidates who want an 80% fit.
A team that embraces flexibility will be stymied if they hire an 80-percenter who needs things to be done 100% their way. Use your interview process to get a sense of whether the candidate is flexible. Have they ever adapted one of their established practices to improve outcomes on a new team? Conversely, can they tell you about a time they were on a team that learned from a new hire?
Consider adding a new section in your job descriptions: “Here’s a list of tools that we don’t use or plan to use here, but we would love it if you have used them at some point, so that you can improve our work with the perspective they provide.”
There may or may not be a handful of software engineers who have a single horn protruding from their forehead. It doesn’t matter – because roughly zero jobs deserve unicorn-like qualifications.
© Myth Talent, 2022