A lot of companies boast that they only hire “the best.” Many of them even go so far to say that they only hire the top x percent (the top 10% seems to be the most common claim).
I’m certain that this sounds impressive to someone (probably their executive team), but there are two problems with it:
- It’s a meaningless claim and, frankly, bullshit.
- If it was true, you’d never want to work there.
It’s a Meaningless Claim
If all of the companies that claim to hire only the top 10% of developers were actually doing that, they’d all have one employee each (if they were lucky). Statistically, that would probably result in a situation where there were more companies than total developers that would be capable of meeting their criteria – not total candidates, total developers globally (the total candidates at any given time, for any given company/job are a tiny fraction of the total number of developers).
So maybe they mean the top 10% of people who apply to them? This sounds more reasonable, but it’s still bullshit.
Say you have 3 open positions and 5 people apply. After interviewing all five of them, you find that three of them would be an amazing fit for your company.
If you only hire the top 10%, that means you can only hire one of the three amazing candidates and the other two roles are going to have to go unfilled.
Actually, even that isn’t true. Technically you could only hire half of a developer because 1 out of 5 is 20%, and we can’t be having that. We have standards to maintain! Somebody get the chainsaw!
Okay, okay fine. We’ll make an exception just this once. We’ll hire you and you’ll get to keep your legs, but remember that you owe us for the consideration. It’s this sort of kindness that makes us a Best Place To Work. Welcome aboard, Bob.
You Wouldn’t Want To Work There
Now that we’ve debunked the absurdity that is the Top 10% nonsense, we can get serious again (at least for a minute or two. Past that, I make no promises).
It’s been my experience that a lot of the places that make the top 10% claim are places that you wouldn’t want to work (or at least I don’t). They’re filled with inflated egos and hero programmers who horde knowledge in order to maintain their position (because, let’s face it, that ego is generally a very thin mask over a great deal of fear).
Both of these are bad things.
They may not start that way, but the cultures almost always turn that direction in my experience. Once you get a few self-important “geniuses” in an org (especially if they make it into management or executive positions), they tend to bias toward hiring two kinds of people – people who “impress” them (more self-important “geniuses”) and people who won’t question them.
That’s a recipe for abuse, assholes who make everyone else’s lives miserable, and a metric boatload of overtime when things inevitably blow up because one of the “geniuses” didn’t think things through or cut corners to “save the day”.
Been there. Done that. I think I’ll pass on it from now on.
What to do Instead?
Stop worrying about hiring “the best” and, instead, hire people with decent skills and the potential to grow within your organization.
I’m being totally serious. Ignore the business magazines that try to sell you on the FAANG hiring methods du jour (those have changed a lot in recent years anyway) and hire people with decent skills (both technical and personal) who want to get better at what they do. Especially pay attention to people that don’t look like you.
I’d say that creating software is a team sport now, and while that’s true, it’s not the whole story. Creating a viable product and finding market fit for it is the team sport you’re probably actually playing (even if your products are internal to your company). Software is just part of the way that you get there.
You need people that act like, well, people. Yes, they may need to be able to write code, but they’ll also need to have the understanding, patience, and humility to work with others in order to understand problems that exist in areas outside of their current experience.
The other side of that coin is that you have to put the work in too. You can’t just hire people and turn them loose. Part of the exercise of hiring people who can grow is to put the effort in to help them grow.
Expose them to technologies that they may not have used before. Encourage them to take on challenges that can help grow their leadership skills. Involve them in the discovery process for business development (it’s amazing what a new set of eyes can spot).
Yes, that means that they won’t be “100% utilized” at doing what they’re (currently) best at, but you shouldn’t be trying to run them at the red line all of the time anyway. That’s a recipe for burnout and guarantees that they won’t improve while they’re with you (which, frankly, is something that should terrify you because, if they aren’t improving, your company isn’t improving either).
So get out there, hire decent people with decent skills, and work to build teams that actually work together and grow in order to meet the challenges that they face. You’ll all probably come out better for it.