CTO School Session 4: Recruiting and Hiring
Vivek Sodera from RapLeaf @vsodera
- + -
recruiting at Rapleaf
- start out interviewing 25-40 engineers/month, goal was to increase that multiple times
- pattern recognition
- by the end: averaging interviewing 1200-1300 engineers per month
- philosophy: pass over someone good rather than pick someone bad
- passed candidates were picked up by google, facebook, etc
- questions
+ - how many were/are you trying to hire?
- wanted to keep lean, didn't want to drastically effect culture
- hire 1-2 per month
- hiring 1 out of 1000, or 1 out of 1500 people
+ - if you know you only want 1-2 people a month (for a total of, say 10-ish), why not sniper and just choose those people and go after them directly?
- part of the rejection marketing is to get the word out about the company
- it's not just hiring, it's also marketing for the company
- rejected candidates sometimes ended up becoming customers
+ - how many man-hours did you spend on this process?
hiring is the most important thing, so that's always their primary focus
not everyone in the company is involved in the recruiting...the first 15 people were, after about 20 hires not everyone was involved
depends on where the company is. When you're small you're going to work your ass off finding people and figuring your process
over time their engineers got much better at pass/failing test results
+ - when you were bringing in 1-2k people per month, how many were involved?
- the ops specialist who was managing it
- new engineers would get trained on how the process works and to bring in new people
+ - what about online contests/games for devs?
yeah, useful, but sort of low ROI
helpful if you have a platform you can make available for them to use/learn on
example: they had their own brilliant dev come up with a very difficult problem, and market it around (to ACM entrants, etc)
- 50% respond, try it out
- got a handful of decent apps
great to find research-minded thinker types...but if you're small maybe you need a *doer* more importantly
+ - q about interns: are they a good use of time?
- 40% of the interns they ended up hiring full-time
- vetted them well
- summer internship
+ - did you ever measure your cost-per-hire
- outsourced lead gen was the cheapest by far
+ - did you use adsense, facebook ads?
- yes...but fb ads didn't do well
- what ended up working was going to conferences (posting little ads above urinals in the bathrooms)
- played with auto-retweeting, auto @mentioning people who say certain things...
+ - what's the referral process?
at one point giving 10k if the person was hired and stayed for more than 90 days
toned it down to 5k (which was contested)
if you send us someone who passes the first round, you get $20, 2nd round you get $100, etc etc -- didn't get much success from that
+ - what was best?
- outsourced lead gen
- send very informal emails (lowercase words in subject line)
- a paragraph or two tops...the PS was the call to action
- A/B test up the wazoo
- + -
snipering vs shotgunning
- snipering
- passive candidates
- lots of experience
- looking for vp eng, cto level roles
- number of hires small (1-5)
- outreach via recruiter, referral, phone, email
- want to give the impression that it's hard to get into your company
- message is: we want high quality people
- shotgunning
- looking for active candidates
- 0-10 year experience range
- looking for lower-level positions (software engineer, manager, director)
- large number of target hires (3-100)
- the person who runs this is the operations specialist (they build the machine/funnel)
- need to clearly show what your culture is
- (preferred approach)
- snipering
- + -
rejection marketing
- want to give perception that your company is sought-after and exclusive
- bring as many people into the pipeline as possible
- and reject as many people
- rejectees will tell friends, friends will want to apply to see if they are "up to the challenge"
- increases the number of high-quality organic applicants
- feed the funnel with low-quality candidates (they will get rejected and tell their peers)
- + -
building a recruiting machine
- define and document core values
- + -
modify recruiting/interviewing flow for scalability
- phone interviews don't scale to this many candidates...hence online tests
- "here is what we would ask you in a phone interview, you have an hour to get back to us"
- hire ops specialist to run the machine
- they own this
- outsource menial tasks
- make the copy interesting
- no one gets excited by '3.5 years of X, 2 years of Y'
- think of it as a brochure for your company...
- fire recruiters, they suck
they are working with X companies, maybe you have a retainer
if they come across a great candidate, they will send their best people to the companies paying the highest commission (which will not be your company)
they all source from the same places, they all have the same candidates
caveat: there are some awesome recruiters (but are very rare0
doesn't like getting candidates from recruiters...they (the candidate) are often lazy...it's a lazy approach to looking for a job
- iterate, iterate
- recruiting channels
- outsourced lead generation
create a fake linkedin profile
add linkedin open networkers (they have tons of reach)
once your linkedin network is highly expanded, you can find more people
also: odesk...find cheap labor, pay people to go on linkedin and look for types of people, scrape the data...email thousands of those people, see who you can bring in
get those people onto a monthly newsletter so you can keep emailing them
- the newsletter was engineering-related
- direct mail blasts
- content for developers
- social media outreach
- ads/flyers
- university outreach
- distributed job posts
- developer-centric events
- events that had free beer/sandwiches, learning opps for developers
- research data sets
- outsourced lead generation
Kurt from Intent Media @kurt
- Kurt from Intent Media @kurt
- internet ecommerce advertising company
- 2.5 yrs old
- 42 people
- just raised $20MM
- questions
- + -
what to do if you come in to a startup as CTO and there's a team there that doesn't agree with you?
get credibility
look at every set of commits that comes in...comment on them if necessary
(audience suggestion: pair program w/ some of the developers to get familiarity with the code, and respect)
- + -
approx what team size do you stop being a coding cto?
it happened organically
it got to the point where there were so many meetings that he couldn't block out 3- or 4-hour blocks to code
have to make the decision whether you are coding all the time or you are going to protect your engineers from distractions so they can be coding all the time
"I never had a 4-hour block, so it was never worth getting started" on some coding
try to keep engineers out of meetings
- + -
how should the biz side relate to engineering? what level of communication is appropriate?
- they still all work in an open space
- priorities get decided upon by sales, bizdev, chief product officer
- along w/ that, he adds technical thigns like "we need to upgrade rails"
- present the biz folks with a list...this is what we can do...what do you want me to do
- + -
Q: You have a CTO above you...so what does he do and what do you do?
- Kurt handles inward-facing stuff
- CTO handles outward-facing stuff
- investor relations
- he's technical, not a technologist
- they have each other's backs
- advice on what to do with an underperforming engineering team and an overbearing demanding biz side?
used to work at thoughtworks (agile consulting), they would go into places and consult on agile
there's a 'consulting answer'
in a startup environment, the answer is fire those people
if someone is underperforming, there's no point in saying "let's wait a while and see"
- never gone back and said, "glad I waited to get rid of that person"
along with that, if you come in to an underperforming team and it continues to underperform, it looks bad on you
little more tricky on the biz side of things
- what are other ways you protect your team or other things the team needs protecting from?
- protect from: meeting/overhead that you can absorb
- don't let some sales guy go talk to them to get something developed that they need developed
- minimizing distractions
- letting engineering run the show (sort of)
- can you comment on your hiring process vs vivek?
part of it is a numbers game
need to get out there, meet people, find people
referrals is a huge part of the way to do it
open-source some of your company code that is not core to your business...people will use it, fork it, develop it...hire those people
- do you involve engineers in hiring?
- yes
- multiple interviews, multiple tech interviews, a non-tech interview
- have recruiters in-house
- + -
what to do if you come in to a startup as CTO and there's a team there that doesn't agree with you?
- one of the first employees -- in charge of creating a dev team
- half engineering/qa/data science
- + -
culture
- if you have an engineering culture it has to permeate the entire company
- can't just be siloed to the dev side
- they work on 2-week iterations, releasing 4x a week
- there's a company meeting every tuesday...very open
- the biz people explain how they are goign to close a deal this week
- then if it doesn't close that week they explain why the following week
- if you have an engineering culture it has to permeate the entire company
- + -
first steps
- make it a strong engineering culture
- the first 2,3,4 hires really set the tone. they are important
- first hire needs to be a tech guy, needs to be a doer
- + -
coming in to a new situation
- if you come into a place that is in a bad situation
- need to change engineering, force people to write tests, write good code
- all the consultants except for one fired themselves
- "this is an engineering company, engineering always has a say"
- can't let biz or sales guys run over the engineering
- have to constantly broadcast information
- whole company needs to know where the build is
- what's coming down the pipeline
- make it clear to see what the tradeoffs are
- if you are one of the first...at some point you are not an engineer anymore, you are overhead
your job is to make it so that the engineers can write code (unimpeded)
when the CTO is trying to write code, there's no air cover for the rest of the engineers, they are vulnerable to biz folks sneaking in requests, distractions, etc
- + -
hiring
- at an early stage, when you really need to hire, you can't always get the perfect person
- + -
you need to build to your team's strength
- e.g. he likes ruby, they built first stuff in ruby
- for the backend ad server, they could only find java guys to hire, so they built in java
- + -
need to keep people challenged
- don't let people get bored
- if they get bored, they will leave
- have to let engineers be engineers
- if you lose a couple of really good people, it is a waterfall from there on out
- anyone here (in this room) can walk out the door and find 10 new job offers for more money
- he brought in people he worked with before, they all knew they would work together well
- + -
development
allow engineers to code
every afternoon has time blocked out when no one is allowed to talk to engineers so that they can work
+ - be constantly refining how things are done
have an engineering/product retrospective every six weeks where we sit down and talk about what's wrong and how it can be made better
sometime that's "there are too many meetings"
sometimes it's "this bizdev person keeps bothering me with requests"
important thing is to have the input/feedback loop and keep building the culture toward what you want it to be
keep asking: does this feel right?
- you have to keep defending what you are there to do
-
Jayden456
