Every Applicant Should Be Given a Chance

Companies regularly reject applicants based on their resume, because they don’t have time to talk to every one of the scores who apply for each job. Not just at prestigious brands like Google but even at startups like mine that aren’t an established brand. Naturally some competent people will get rejected, all the more so since this filtering is done by recruiters, not engineers.

Software can fix this problem. The way it would work is that every applicant would first be given an online quiz. It would consist only of multiple-choice questions, so that the answers can be evaluated by the software [1].

Each question would have a time limit to prevent a clueless candidate from taking a long time to learn everything he needs to know for the answer, and then answering it. For example, a simple question can be whether a cache makes the first access faster, subsequent accesses, or all accesses. You don’t need more than 20 seconds to answer this. This also prevents the candidate from calling a friend, asking if he knows, then calling a second friend, etc.

These questions would be ones that don’t require a lot of context to understand, as with any good interview question.

The questions would be hard enough, in order to effectively separate good from bad candidates. And great from good candidates. Too easy questions do neither [2]. Besides, too easy questions may make good candidates feel that they’re in the wrong place.

We’ll ask questions that all software engineers are expected to know, like the caching one above. If we’re recruiting for a particular profile, like an iOS engineer, we’ll ask questions that all iOS engineers are expected to know, like weak references [3].

Depending on which questions the candidate was able to answer correctly, we’ll be able to draw inferences like, “The candidate can do routine programming, like build a CRUD app” (which most mobile apps are). Or that he can do advanced stuff, like a Google engineer can. Or that he’s good at iOS development but isn’t a good software engineer in general. Or the opposite.

If a candidate says he’s worked in multiple areas, like iOS, Android and Nodejs, we can test all three, and determine how good he’s at each. For example, I wouldn’t say that Android is my primary skill, but I know a little, so I’d like credit for it.

You can get a lot of nuanced conclusions from an automated test, with zero additional effort per candidate.

This quiz can also be offered as part of a marketplace. Complete the quiz and, if you do well, you’ll get job offers. Or it can be part of a single company’s recruitment process, as the first step.

In either case, this is the first step, the screening round, as a replacement for reading the resume or a phone screen. No one will be made an offer as a result of the quiz, because that’s not its purpose. Besides, an applicant could’ve gotten his friend to take the test [4], so manual verification is necessary.

An automated screening also solves the problem that the majority of applicants are clueless, and it’s dispiriting for competent engineers to talk to scores of such people. Even leaving that part aside and looking at it numerically, recruiting is a funnel, where the majority of people at each stage get eliminated. The first stage has the most candidates, so software can help the most there.

With this in place, companies can evaluate candidates’ actual skill, not reading their resume to look at which college he want to or which company he worked at [5]. No candidate will be rejected without being given a chance to prove themselves — that is unfair, but that’s how all companies recruit today. Good candidates will find great jobs by standing apart from the crowd, which will, in turn, incent people to improve their skills. Companies will hire skilled people, rather than letting the position go unfulfilled for months, or having to pay more to fill the vacancy, or having to compromise in some other way. Companies that are smart enough to do this will have a pool of candidates overlooked by everyone else.

In summary, everyone stands to benefit by using software as the first round of screening. Triplebyte is doing this, but they serve only some countries, while everyone in the world needs this.

[1] We don’t need advanced technology like natural language processing and machine learning, which aren’t 100% accurate and will unfairly reject some candidates, which defeats the point of this. Having said that, if there’s a way to use these technologies to improve outcomes, that’s great, but they’re not required for the idea to work. Existing, proven technologies can solve many problems, even if new ones attract all the hype.

The next question in the quiz can also be dependent on the previous question. Or even on multiple questions.

[2] We can still choose to hire a okayish candidate who’s gotten 5 of 10 hard enough questions right. This is effectively the same as giving too easy questions and requiring the candidate to get 8 of 10 right. So, asking hard questions doesn’t mean we’ll hire only 10x engineers.

[3] Asking how to use the accelerometer isn’t a good question, because not all iOS engineers have used the accelerometer, so not being able to answer the question doesn’t prove he’s bad.

[4] We could use the webcam and record a video feed to guard against this. We could also require candidates to give real-world identification like Aadhaar or their driving license, to prevent them from creating multiple accounts.

[5] People should ideally go to college to get skills, not as a brand. That is a zero-sum game and, when multiplied across billions of people, an enormous waste of society’s resources. Likewise, people shouldn’t choose to work at a particular company to burnish their resume. When we assess people by their actual skills, all this crap goes away. Skills are all that should matter, anyway.

On-demand Leader. Earlier: IIT | Google | Solopreneur | Founder | CTO | Advisor