Job search today isn’t working just as well as it should. It’s failing on a number of fronts, most fundamentally by leaving jobs on the table — while people remain jobless. People on the hiring side complain to not have any reliable ways to pre-screen programmers who know how to code and do it well or who is a good cultural team fit and many such questions. And it’s true: we, as an industry, suck at this. Even among the most common hiring heuristics for developers (CS degree, male, white, skewing young and middle-class background), we are absolutely abysmal at this, and we only get worse when trying to hire from a large applicant pool. There are many talented women in tech, drop-outs, self-taught programmers who are competent and want jobs are much, much larger but we 'HR departments usually' are stuck in finding reliable ways to 'screen' talent. And by the time they decide, the candidate joins someone else.
It's nothing better as a job-seeker, it equally sucks. And many of the things that don’t work for hiring managers are also things that make the process difficult to deal with for candidates trying to get hired. The screening process is broken and obsolete — and we need to fix it. Here’s how:
The academic lottery
Over the years, we looked at education specs and school brands to help us identify top talent. Unfortunately, though, having a CS degree from a top school is no indicator of someone’s readiness to sit down and start coding. Furthermore, it sucks for candidates do not have a CS degree, but who are ready to sit down and start coding.
The irony is that most universities cannot even decide whether their curriculum involving computers should be an extension of the math department or an extension of the engineering department. Furthermore, school curricula often lag years behind market best practices. Lastly, education is still largely based on memorising tables and names of algorithms and their big-O characteristics, which leads into a belief that memorising a bunch of that stuff and being an automaton who spits back the correct algorithm name and a pseudocode implementation is all there is to programming. It is not!
I'm confident that the styles of education we have, and their failings, are responsible for a lot of the horror stories we hear from software recruiting. What we instead need is to completely overlook education and pose job-specific challenges for candidates to assess them on the understanding of the problem currently at hand, this also makes the process transparent, data-rich as applicants clearly understand what a company is looking for.
The coding tests fallacy
Coding tests are the new resumes to screen candidates by giving them a random test and judging their skill by how well they write the code for it. Just in case you’re wondering, we are no good at figuring out who can code from that just how we never were good with resumes. These interviews are too short, too contrived and too pressured to be reliable. Multiple top-tier people I know have been turned down for jobs they were eminently qualified for, solely on the basis of these interviews.
I tend to look at them as the current version of the “ask a riddle” fad that was popular years ago. Because Microsoft did it. Now, people have heard that Google does coding interviews, and have read about Jeff Atwood’s FizzBuzz test, so now everybody does coding interviews.
The amount of pressure and the lack of room for error can and does make people feel physically ill. And the things coding interviews do to your mind are equally awful. Is this really an easy “just prove you can write a for-loop” problem? Or is it a trickier question concealing some deeper problem the interviewer wants you to notice and talk about?
All the more the time spent in writing tests, let's say you did 3 tests a week, each taking you approximately 120 minutes, and you did that for a month of an active job hunt. 4 weeks in a month and each week had 6 hours’ worth of tests. That's 24 hours of tests. That means you've now given over 3 full business days of free work.
The primary mistake here is over-valuing present skills and under-valuing future growth. It gives a limited view of the seeker’s true aspirations and capabilities. It doesn’t answer the most important question of all — how would they fit culturally into the organisation. And most jobs are won and lost on the chemistry between principal and agent.
The referrals myth
And finally, never hire recommendations from friends, family, and colleagues. Existing relationships create bias and implicit power structures, webs of obligation and loyalty that are at odds with what is best for your company.
A friend once told me, “I didn’t hear back from [company], but when I messaged a friend of a friend who worked there and asked them to refer me, I heard back right away.” This is a problem. Referrals prioritise networking instead of job skills, to be good at research, or design, you don’t have to be good at networking and TBH most people aren’t good at networking. Those skills are not the same — they don’t even have meaningful overlap. We’re optimising for the wrong things. Why do data scientists have to be good at networking to break into the industry?
Hiring referrals you will either compromise your friendship or your company, and rather than being forced to pick one or the other, just avoid the conflict entirely.
Software recruiting also faces a problem of demarcation i.e. companies want to know not just who can already code, but also how well and, among the people who want to but can’t yet, how close they are and how much help they’ll need to get there (in other words, not just “who can we hire”, but “who can we hire into junior vs. senior positions” and “who can we bring in as an intern or suggest a useful program for so we could hire them in the future”). There isn’t an easy silver bullet here either.
Thus far, everything I’ve seen work once turned out not to work some other time. That includes looking at GitHub or equivalent to get an idea of ability; using networking and referrals to identify pre-vetted people; using conversational story-swapping interviews (i.e., interviewer and interviewee talking about things they’ve seen and done and how they went about solving problems); coding tests; high-pressure interviews; low-pressure interviews; sample contracting periods; internship-to-hire programs; team-immersion interviews; pair programming; hackathons; one-on-one interviews; panel interviews; you name it, it’s been tried and probably has failed at least as much as it’s succeeded.
I'm obsessed to solve this puzzle at scale as we build StackRaft. The next-gen job search should be more of a conscious, eyes-wide-open process, where candidates, employers, and recruiters learn about each other. It should tap data and technology to connect people more directly to relevant opportunities and reduce existing gaps.
Most of all, it will bring humanity back to the process. Here are a few things on how we are reimagining recruitment by measuring human potential
1. As soon as a company gets big enough and deploys a dedicated recruiting team or department or recruiter they are up for failures, make the current team enthusiastic enough and let them be hiring. Everybody is a recruiter. Social media has given a voice to everyone.
2. Instead of doing a standard coding interview, look at samples of the candidate’s code if available, or throw them a description of a small bug you recently had and ask them to explain how they’d tackle it. And most importantly pay them for their time, so even if they ain’t selected they do not feel devalued
3. Don't interview, do a code review -- Do you know people crave for high-quality feedback and guidance to get better at what they already know. Interviews are about judging someone, reviews are about mentoring and just learning about people’s motivations
Lastly, be human, be yourself, always do what you say you will do. We aren’t machines; we just make machines do interesting things. Sometimes we even make them do the correct interesting things. But we are ultimately very much human, and right now there’s a gigantic gaping lack of humanity in recruiting and hiring processes. Be human to your fellow humans, and all the other things will probably get a lot easier.
Vartika Manasvi is the founder and CEO of StackRaft Inc.
Published Date: Aug 12, 2019 04:08 PM | Updated Date: Aug 16, 2019 05:08 PM IST