Good afternoon everyone!
Hope you’re having an amazing Friday so far and I would try my best not to be boring to spoil your Friday. :)
- My name is Atif and I am the Founder of AirCTO which helps companies in recruiting tech talent through Human and AI systems.
- Built several scalable products using Common Lisp, Clojure, Scala & Python over the last 10 year
- I have built LaunchYard a profitable software consulting company which helped companies across US and UK. We also worked with Y Combinator backed companies like Automatic and Plateiq
- I have interviewed and hired countless engineer over the last 10 years
Ok! Before we begin, may I ask you 2 quick questions.
- How many of you have ever hired an engineer?
- How many of you have ever hired an engineer who turned out to be a bad fit technically and you have let him/her go after 2–3 months?
Great! So, we have an audience who has gone through the pain of hiring developers. It’s difficult and painful!
So, the question is how can we reduce that pain if not completely cure it. I would like to share some of my experiences which I have encountered in the last 10 years while hiring engineers for my previous employer, for companies we work with (through AirCTO) and for ourselves.
Let’s look at the Myths which we might have heard at least once.
There are few myths that mostly plays the role of discouraging us from looking for top tech talent. Some of them are:
Myth #1: I need BIG money to hire top talent
We might have heard or have assumed that I need to have big money to attract talent.
But is that really true? Does candidate only care about the compensation?
Let’s look at the data on how candidate assess a job requirement
The survey clearly says that candidates look for a lot of different data apart from compensation.
- Tech stack
- Product impact
- Professional growth
- Funding (if you’re early stage startup)
Therefore, we don’t necessarily need to have deep pockets to attract top tech talent. All we need to do is to build compelling story about our brand to attract top talent without spending too much money.
Myth #2: Good academics == Good talent
If the idea is that someone has gone to Ivy league college is always a talented developer then it might not necessarily always be true.
Maybe, we’re stuck in a colonial mindset that a group of people belonging to a certain community/institutions are great engineers.
Did you know that 14% of the team at Google is made up of people who’ve never gone to college?
Google’s Senior VP of People Operations, Laszlo Bock, described test scores and grade point averages as “worthless as criteria for hiring” based on an internal study of tens of thousands of Google interviews.
he further adds students are “conditioned to succeed” in academic environments, and that success doesn’t necessarily translate to a workplace environment.
So, there are great programmers out there who didn’t go to some top colleges. And if Google can do it then there is no reason why we shouldn’t opt for developers without having great academics.
Some may argue that it’s a good way to filter candidates and it helps to get a sense that they are intellectual, social, sporting, personal, artistic, ethical, and so much more.
But why miss out the talent outside these places and why do we need to assume that rest of developers are not intellectual, ethical etc? I mean, talent can come from anywhere, from a small town in UP, Bihar or Kerala.
We should think about it and try to open our doors to avoid missing out great developer.
Myth #3: Hire only when it hurts
We have heard this many times and somehow it is correct. But there is a catch if you don’t straightway believe that as it is.
It is to plan upcoming hire before it hurts. Let’s see the data
We have met with several customers who wants to hire developers in 15–30 days which means the developer should already be serving notice period or doesn’t have any job in hand — that’s really rare!
We have also made this mistake. We thought, we will close a position in month for two years experienced developer but it took us more than 2 months and that’s a huge loss to any business.
Therefore, if we have to hire an engineer in December then we need to start hiring now.
Companies often complains that they are not able to hire top tech talent. In this situation, we seriously need to do some reality check.
Reality #1: Are we treating the applicants as our potential customer?
As we discussed the first myth, `We need BIG money to hire top talent` and discussed why it doesn’t matter.
The data says, candidates want to know about your company. You can’t expect all the candidates to really do a research about your company. We have to treat them like our potential customers and give them enough information at one place to help them make decision faster. So that they can hit `Apply` button.
We need to clearly communicate our story, our vision and put it out there that this is what we have done so far and this is what we plan to do.
- Share about your technologies stack and what you’re doing with those technologies
- How they have a chance to make an impact and they can grow with you
- Share your office environment and culture through social media
- If you’re hiring for startup then inform them that you have enough funds to support the product
One of our customers, I won’t name them here. But their product is basically a CRM and they want guys from IIT. Our sourcing team tells me that there are good candidates who backed out by looking at the website thinking the work is not challenging enough. Maybe, it is challenging but it was not communicated by the customer on their careers page.
Reality #2: Is the job description realistic enough?
Now, this is a very typical problem where we see a lot of impractical job description.
I have met with customers who want to hire developer with the following technical skills:
- Who can write great Python code and knows Django
- Has design a scalable database schema
- Has excellent knowledge AWS, Jenkins/etc — DevOps
- Has built few nodejs apps
- Has an amazing HTML and CSS knowledge.
I mean, what do we want? A Full Stack Developer? Or we want Chuck Norris. :)
- To be great backend engineer, it requires a lot of different skills and experience
- To be great frontend engineer, it requires deep understanding of how browser works and different JS framework works
- To be great DevOps, it requires completely different skills, altogether.
In this case, what you want is a single developer doing the job of three developers — which is a recipe of generating sloppy code.
We don’t want jack of all trades but we want master of few!
Therefore, we need to really align our job requirement to the talent available in the market, realistically.
Reality #3: Is your candidate engagement process smooth and personalized?
The question is, are we engaging with them faster?
To understand this problem, we need to admit that we’re living in a world where distraction is everywhere. We have Twitter, Whatsapp, Slack, Emails, Phone calls and dozen of apps in this thumb driven world. We have been trapped with tons of information. On top of it, we have work and family. So, it’s quite natural to not have enough time to respond to each and every messages for us as well as for the candidates.
We happen to work with a customer, who used to send emails to candidates telling them about their long and scary interview process, and if a candidate doesn’t respond to her email then she would consider it to be bad fit since they are not responsive. And to her surprise, no candidate responded to her email out of 10 candidates.
But the catch is, they might have missed her email, her email might have landed in spam box or may be the candidates got scared after looking at the hiring process.
We at AirCTO also used to send test assignment after selecting profiles of the candidates but the response rate was very poor. What we learnt that they would prefer to have a quick introduction call with the recruiter to make sure we are on the same page — we couldn’t agree more to them.
And when 75% of the developers are not actively looking for the job but open for new opportunity then in that case, the recruiter needs to work hard to attract them.
Remember, Programmers are the most priced commodity at this point around the world.
We need to offer them a pleasant experience once they apply for the job. Please note as we speak, there are many recruiters who are after these candidates. So, we need to stand out and help the candidates make faster decisions. Take them faster in our hiring funnel.
Reality #4: Is our interview process a real one?
We love having complicated interview process and we believe that the tougher the process the better quality of candidates we would end up with.
But there is a problem. If the interview process is longer and takes time then you will have very poor pass-through rate
Let’s look at the data:
45% of the recruiters think that sourcing is big pain, according to Tech recruiting report by HackerRank — 2018
Which means there is sourcing problem and if sourcing is a problem why do we need to have complicated interview process and giving them some complicated algorithms to write when what we’re hiring them to build web app?
I have seen recruiters having a tough test assignment for the applicant to crack. I mean, would 4+ years of experienced developer go through this assignment? Do they have time to do so?
Typically the response rate to test assignments are somewhere around 10–15% and that’s our internal survey done with our customers.
We can try to have very streamlined process
- Get on a intro call with the candidate
- Give meaningful test to the candidate
- Do 1:1 interview with the candidate
- Hire or reject the candidate. (inform the candidate even if you reject them)
That’s all I have got guys. I am happy to hear your questions.
Here is link to the slides: https://speakerdeck.com/atifh/decoding-the-myths-and-realities-of-hiring-tech-talent