A novel HR product vision

Wojtek Kulik
5 min readOct 21, 2018

--

At CodersFirst, we believe that hiring is broken. And since our main focus is IT recruitment, we focus on the technical hiring — but some of the issues are related not only to the tech recruitment. Please have a look at the nice introductory post by Aleksandra , if you have not done so yet.

DISCLAIMER: everything we write below, regarding our plans and ideas, is subject to change. There are still many questions and unknowns, we do not fully know yet which path to choose. We will test many of the ideas and select the one(s) that look the most promising. We are also ready to admit that the path we will decide to choose at the beginning may not be the optimal one in the long run, if we will find the facts that say so. Stay tuned, more on the exact approach in the forthcoming posts. (end of DISCLAIMER)

My name is Wojtek and I joined CodersFirst in September as Head of Data. I work in the R&D team. Together with other team members, after many long discussions and weeks of research, we believe we have identified the main issue of the current weakness(es) of the hiring: it is the bias, the subjectivity of the whole process of the recruitment.

The source of the bias is manifold and comes mostly from human beings.

First of all, it comes from the candidate. The goal of the candidate in the recruitment process is to find a (sometimes new, sometimes better) job. In order to achieve that, the candidate presents himself/herself as a person who is likely to be a good fit for what the employer is asking for. That usually means the candidate presents himself/herself by means of a structured document (e.g. CV), online presence (e.g. LinkedIn profile, portfolio of projects). So, for example, imagine that the candidate positions himself/herself as a ‘Senior Frontend Developer’.

Then, another source of bias is the employer. The goal of the employer is hire the best person for a given job. That usually means describing (at least) what the ideal candidate should look like and what is the description of the job. So, for example, imagine that the employer is looking for a ‘Senior Frontend Developer’.

In some cases, that’s it. It may happen that a candidate finds the job offer posted by the employer. Or, it may very well happen that an employer finds the candidate somehow, e.g. by sieving through the many of the LinkedIn profiles. They might talk to each other and… There’s a (small) chance that the employer will like the candidate and that the candidate will get an employment offer.

In most cases though, the employer will have to check many candidates and find the best one from the large pool of people. Mostly because the literal “pattern matching” done on the candidate’s skills and employer’s expectations returned a good “match”. In the case of our example, the candidate ‘Senior Frontend Developer’ is not the ‘Senior Frontend Developer’ the employer is looking for, even though the keywords match.

Since CodersFirst is a recruitment company, in our model there’s another, an intermediate layer, the external recruiter. And — you have guessed already — that is yet another source of the bias in the process. The external recruiter may actually introduce even more confusion by “translating” the requirements of the employer into the “offerings” of the candidates. Well, it may work sometimes (it does work for us!), but the average level of services of an external recruiter is quite low (just ask a fellow developer what she/he thinks about recruiters if you don’t know already).

OK, so if we know what is the problem, how do we deal with it? At CodersFirst, we have approached the problem in two ways, let’s call them short-term and long-term approaches.

The short-term

One is already implemented, we use it in our current hirings (also internal ones; speaking of which — we’re hiring! — more info here and here). In short, we have worked really, really hard to ensure that the whole process is as standardized as possible. That means, for example, that different candidates (applying for the same position) get the same questions, there’s a scoring system for the answers, there’s a scale which we use to assess the candidates so that every two candidates can be compared to each other. From another angle, that also means that we know more about the employer’s expectations — we ask additional questions to fully understand what — say — “minimum 5 years of experience” _really_ means in the context of the recruitment in question (is it 5 years in total or 5 years in the technology being used or 5 years in the domain of the company?). Some of these things may seem obvious to you, but almost everybody who had the “pleasure” of recruiting or being recruited in the recent past will hopefully agree that hardly any recruitment process looks like this. So the word ‘standardization’ is a key here.

But, even with a decent implementation of a standardized, human-recruiter based hiring, there’s still much to be improved. And that leads us to…

Automation

of the whole thing — the long-term plan. As simple as that. We want to reduce the amount of human factor in the process as much as possible. Firstly to reduce the bias, to improve the objectivity of the process; secondly, to scale up the whole thing. Scaling up is easy if we have the whole process automated, so we’ll focus on the automation part next.

Automation will be implemented as a number of online tests (of different kinds), where the candidate’s input is stored and (automatically, of course) analyzed by our system (data science, anyone?). What is more, these tests will be unique, previously unseen and should test the true potential, knowledge and skills of the candidate, regardless of his/her claimed experience and background; hence we think that we will have to create a number of tasks from scratch (sorry, no more “C-style string reversal” tasks!). The results of these tests will help us create a candidate’s profile. With these profiles, it will be easier to match a profile with employer’s _real_ requirements (note that we work with many employers and we will have to create and maintain also employers’ profiles).

When we have a number of candidates’ profiles and a number of employers’ profiles, we’ll be able to start searching for the patterns in the data and use machine learning / AI tools and algorithms to help match the candidate with the client… The idea is easy, but the devil is in the details. We, i.e. myself and other guys from the R&D team, are working on that!

All in all, it’s an interesting and very challenging multi-dimensional puzzle. And we have just started the game. Stay tuned for more!

To be continued… In the meantime, please have a look at Filip’s post . Filip’s addressed the issue from yet another perspective.

Thanks for reading. Leave a comment if you enjoyed this post! Sign-up for our beta if you’re interested in testing the platform when it’s ready.

--

--