This story starts in June last year. Pallav was looking to assemble a crew to propel Fusioncharts forward. A mutual friend introduced us because Pallav wanted to understand what he could do better. While I was in the meeting, I found myself being recruited and I agreed to take on the challenge. (I am still not sure if I would have said yes were I not in an inebriated state.) A month later I was sitting in Fusioncharts office looking at the challenge ahead.
In this post I am going to talk about how we put together a team of brilliant hackers, hustlers, artists and storytellers driven to help people make better sense of their data.
Building the team for the next phase of growth for Fusioncharts.
Going in, it was pretty clear to me that the old way of posting and praying won’t work. I had to go out and pitch passive candidates. We already had a huge number of top-of-the-funnel applicants who were mostly unqualified. The majority of our bandwidth was being spent sifting through thousands of unqualified candidates. This meant we couldn’t spend enough time sourcing and engaging qualified candidates.
What we needed to do was to turn this around and focus on sourcing great candidates. We decided to get proactive and source the candidates we wanted. Thus started our quest for a recruiting process that has given us amazing results.
New recruiting process:
We started looking at recruiting as a sales problem and adopted it for recruiting. Now we give lot of thought before we open the job and a well laid out strategy to find the perfect candidate.
Whenever we open a role, we sit down and define the role as best as we can in a dynamic startup environment. However, there are a few fundamentals that don’t change and that’s where we focus.
The next logical step is to create a candidate persona. The role definition feeds into the process to create the candidate persona.
Building a persona is the first step toward identifying where will I find my ideal candidate and how should I pitch them. By experimenting for over a year, we have come pretty close to perfecting this.
To get to an ideal candidate persona, use a simple template and get your hiring managers involved. For example, we are hiring a developer to lead our front-end team.
Here are the questions we try to answer.
For our example of Frontend lead here’s how we answered these questions.
At the end of this exercise, I put this information together in a simple easy to understand slide deck. (You can use the Candidate persona template we created to get you started quickly)
Sourcing mainly consists of two steps – Identify and Engage. toolstack: Recruiterflow!
Identifying the right candidate is a highly iterative process. A feedback loop with your hiring manager helps you narrow down the best fit quickly. I source a few candidates and send them over to your hiring manager before reaching out to them. The hiring managers have been told about the process and they promptly get back to me. Each candidate qualified and disqualified comes with detailed notes on why the particular candidate was disqualified.
The identification process is driven by the candidate persona document we have prepared. If there are disagreements or details that we missed, we can always go back and edit the candidate’s persona. The document acts as my north star when I am sourcing candidates.
The next step is identifying channels. I am already sure that you are tapping into the network of your team to get referrals(and they are by far the best source of hires). For this article, I am only going to focus on sourcing passive candidates.
The most important part is identifying the channels to find your ideal candidate. In most cases, the answer is pretty obvious. For the lead frontend developer, I would be looking at LinkedIn, Github, and Stackoverflow. If that didn’t work, I might even go to source candidates on meetup.com, medium, Twitter, and Facebook.
LinkedIn is the most popular choice when it comes to sourcing. I am not particularly a fan of the LinkedIn recruiter account but it’s nice to have. The best way to search LinkedIn is a boolean query. Gotta love them boolean queries!
There are some excellent tools out there to help you create boolean search queries. These tools are great for your to start with. As you gain more experience, you can start composing your own boolean queries and nerd out on them.
<write actual query over here>
Here are a few resources for you to get started:
Boolean query builder – Sourcehub
A rather simpler boolean query builder google sheet – Thanks Pierre Fortin
The best way x-ray search LinkedIn – Boolean blackbelt.
Github:
There are two ways to search for candidates on GitHub. One is to use google’s x-ray search or Github’s native search. I for one prefer github’s native search because of its accuracy.
Here are some great articles to help you understand how to source on GitHub.
Here are a few resources to help you get started:
The complete guide to recruit and source candidates on GitHub – Sourcecon
How to: Use GitHub to Find Super-Talented Developers
Again. This is only to help you get started. Sourcing on GitHub is much more complex and another article for later!
My query for the above role:
repo:d3js repo:vuejs repo:reactjs repo:angularjs repo:reactnative repo:jquery location:Bangalore followers:10..* language:JavaScript
It searches for all the developers in Bangalore who follow/contribute/fork repos like angular, vuejs, reactnative, jquery written in javascript. Also, they need to have a minimum of 10 followers as it weeds out a lot of inactive developers with just an account on github. This yields 506 results! Plenty of fodder to work on.
Stackoverflow:
Stackoverflow is the most underused and thus the most powerful way to source developers.
The best way is to write SQL queries to query their internal database and find the best people. For a frontend developer working on angularJS in Bangalore, my query would look like this.
SELECT u.Id AS [User Link],
CONCAT(‘https://stackoverflow.com/users/‘, u.Id) AS [Profile Link],
u.DisplayName,
u.Location,
u.WebsiteUrl,
u.AboutMe,
u.Views,
u.UpVotes,
u.DownVotes
FROM Users u
JOIN (
SELECT DISTINCT UserId
FROM Badges
WHERE LOWER(Name) IN (‘angularjs’, ‘angular-material’, ‘angular-dart’, ‘angular-cli’, ‘angular-material2’, ‘angular-ui’, ‘angular-ui-bootstrap’, ‘angular-ui-grid’, ‘angular2-changedetection’, ‘angular-ui-router’, ‘angular2-components’, ‘angular2-directives’, ‘angular2-forms’, ‘angular2-http’, ‘angular2-pipe’, ‘angular2-routing’, ‘angular2-services’, ‘angular2-template’, ‘angular2-testing’, ‘angularfire’, ‘angular-promise’, ‘angularfire2’, ‘angularjs-controller’, ‘angularjs-directive’, ‘angular-datatables’, ‘angularjs-e2e’, ‘angularjs-factory’, ‘angularjs-filter’, ‘angularjs-http’, ‘angularjs-ng-click’, ‘angular’, ‘angularjs-ng-model’, ‘angularjs-ng-repeat’, ‘angularjs-routing’, ‘angularjs-service’, ‘restangular’, ‘angularjs-scope’) AND
Class IN (1, 2, 3) AND
TagBased = 1
) tag_badges
ON tag_badges.UserId = u.Id
WHERE LOWER(Location) LIKE ‘%bangalore%’
If you don’t know how to write an SQL query, folks at Recruiterflow have come up with a special tool to do that for you.
SQL query generator to source on stackoverflow
How to source on Stackoverflow?
The final step of the process is to go out and engage candidates. My preferred choice of weapon – Email sequences. Email sequences convert twice as well as LinkedIn inmails and generic emails. (Put this in quotes)
First things first, you will need to find the candidate’s email id. I use Recruiterflow’s chrome extension and Lusha to find emails of candidates.
Crafting the perfect cold email to a passive candidate
A cold email has four parts. Below, we will take a look at each part and end with a few examples of emails that have worked wonders for me.
Subject:
If there is one sentence in your email that deserves the most thought – it is the subject line. It is the most important line that deserves your highest attention. I have learned this the hard way. After multiple experiments, I’ve found the best subject line that works.
Subject: <firstname>, got a minute for a chat?
It is so simple and so banal that it doesn’t sound true. But surprisingly, this subject line has consistently delivered the best results for me.
The reason why it works is pretty simple. It’s short enough to be easily viewable on mobile devices. Mentioning the first name makes sure the candidate knows it’s not a random mass email. It also evokes the right amount of intrigue to get the email opened. Job well done!
Introduction:
This is where you open your email. The mistake most recruiters make is to ramble on about their companies. Unless you have a brand like a google or an amazon, most passive candidates are just not interested.
I keep this part short and sweet with a line about myself and why am I reaching out to you. This generally involves a project they did that caught my attention. It could even be a compliment on their current work. The purpose is to let the candidate know that this is an email crafted specifically for him/her.
Here’s a screenshot of an email using Recruiterflow’s email campaigns(back then it was still in beta!) that is in my sent items. In case you are wondering, the person email was sent to is now part of our dev team!
The introduction is to get the candidate warmed up for the pitch that follows it.
Pitch:
By the time candidate reaches the pitch, s/he has already skimmed through the email once and read the introduction. Now their brains are on the verge of losing interest and are wondering, what’s in it for me?
The mistake a lot of us make is saying what do we want and not talking about what would a candidate want? Here’s a truth that’s unpleasant. Nobody cares what you want! Candidates want to know what’s in it for them. I’ve even seen the entire job description copy pasted in the mail. That’s just lazy recruiting!
Your pitch needs to be around what’s in it for the candidate followed by an easy call to action. For our examples of front-end engineers, here’s how I would create a pitch.
A pitch has 4 essential parts
Call to action
A call to action gives an easy way for your candidate to indicate their interest. A big no is asking the candidate to apply on the careers page or an assignment/take-home puzzle.
My call to action has always been a brief 15 minutes call. If you’ve written a good cold email, your target candidate should be willing to make an investment of 15 mins. A short call also forces the candidate to think about what we are going to talk about in the call. This makes the candidate invest in looking at the company and thinking about the role. The idea gets incepted and they can see themselves in the role I am selling.
Dos for the email
Don’ts for the email
Your follow-up strategy
If you are going to cold email a candidate, don’t ever follow up. That way you are losing half the super qualified candidate. You can use any email automation software to automate this without investing a single minute of your time.
I keep my follow-up emails brief, automated and courteous. There are two reasons a candidate didn’t reply to you.
The purpose of the follow-up email is to get those who forgot to write back to take notice and respond to you.
This strategy has got me email replies like this.
The best part – if a candidate is not ready right now, they are going to think of you the first time a thought occurs in their head for changing roles. You will catch them before they become fully active.
For this role, I reached out to just 51 carefully selected candidates using Recruiterflow’s email campaigns. Out of these 51, 16 candidates got back to me. Half of them weren’t interested and the other half were. We interviewed them and hired a candidate in the flat for 12 days!
Table of Contents