how to build a team

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.

Here’s what I had to achieve:

Building the team for the next phase of growth for Fusioncharts.

  • 6 kick-ass front-end developers who could understand and write javascript code
  • A head of sales
  • A head of design along with three designers
  • A head of operations
  • A head of the dev experience
  • Head of marketing along with a team of three marketers
  • An engineering manager
  • Three full-stack devs

Deconstructing the problem

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.

Step 1: Defining the role

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.

  • What high-level KPIs will the candidate be responsible for?
  • What are the skills the ideal candidate should have?
  • What kind of past work the candidate should have done to hit the ground running?
  • Name a few probable companies where the candidate may be working.
  • What do you expect the candidate to achieve in 90 days?
  • What do you expect the candidate to achieve in 360 days?

role-definition-graphic

Step 2: Create a candidate persona

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.

  • What are the skills the ideal candidate would have?
  • What kind of technologies would the ideal candidate be interested in? (Answer with specific fb groups, meet ups, GitHub repos)
  • What are the other companies where they might be working at? What is their current position?
  • What would their careers plan to look like and what would be the right next move for them?

For our example of Frontend lead here’s how we answered these questions.

  • What are the skills the ideal candidate would have?
    • The ideal candidate would have a deep interest in javascript, and visualization libraries. She’d be someone who can think and work on javascript on core computing principles.
    • They have kicked the tires of emerging javascript frameworks just to satiate their curiosity.
  • What kind of technologies would interest the ideal candidate?
    • The ideal candidate maybe follow a few git repos like – d3js, vuejs, reactjs, angularjs, reactnative, jquery
    • They would have an interest in emerging JS frameworks like reactsjs, nodejs, angular 4, vue.js, phantomJS to name a few.
  • What other companies where they might be working at?
    • I maintain a spreadsheet of companies that have great talent.
    • A great way to find this is generally I search for jobs for the skill set. If a company is hiring for a particular skill set, they would have others with similar skill sets.
  • What would their careers plan to look like and what would be the right next move for them?
    • Look at hiring manager’s careers progression
    • What kind of challenges would they like to solve? Great people are ambitious and hungry for a seemingly impossible task.

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)

candidate-persona

Sourcing the right candidate

Sourcing mainly consists of two steps –  Identify and Engage. toolstack: Recruiterflow!

Identify:

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.

Choose your channels:

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

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?

Engaging passive candidates:

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)

sourcing extension

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
  • Introduction
  • Pitch
  • Call to action

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

  • What kind of challenges would you tackle working with us?
  • Why do I think you are a great person for the job (served with a pinch of flattery!)?
  • The mission of the company and how well we’ve been executing/growing?
  • What are our culture and colleagues you will be working with?

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 and Don’t for your cold email outreach

Dos for the email

  • Be brief and direct. Respect your candidate’s time.
  • Always remember – “What’s in it for me?”
  • Flattery goes a long way
  • Challenge the candidate.
  • Personalize the email. Nobody wants to be at the receiving end of a mass email.
  • Always follow up a couple of times before giving up.

Don’ts for the email

  • Don’t put the job description in the pitch
  • Don’t put more than two links in the body of the email
  • Use the candidate’s name in the subject
  • Keep your call to action as simple as possible. In most cases, invite them for a call.
  • Don’t reach out to a candidate you don’t think you should have a call with.
  • Write emails that are verbose. As a golden rule, stick with less than 250 words.
  • Give up when you don’t get replies. Keep at it and you will.

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.

  • They have absolutely no interest in the role
  • They forgot to write back 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.

Results I’ve achieved

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!

Related Posts

Leave a Comment