Download - Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates
twitter.com/gayle facebook.com/gayle
technologywoman.com
Interviewing A-PlayersReverse Engineering Interview Coaching
to Create Great Candidates
Gayle Laakmann McDowell
June 2014
twitter.com/gayle facebook.com/gayle
technologywoman.com2
Gayle Laakmann McDowell
<dev>
</dev>
Author Interview Coach Interview Consulting
(CS) (MBA)
twitter.com/gayle facebook.com/gayle
technologywoman.com3
What I Coach
Download at: CrackingTheCodingInterview.com
twitter.com/gayle facebook.com/gayle
technologywoman.com4
Traditional Dev Questions
Startups “Elite” Other
Behavioral/Experience
Knowledge-Based
System Design/Architecture
Algorithms/Problem-Solving✔?
✔?✔
??
Disclaimer: So. Many. Exceptions.
twitter.com/gayle facebook.com/gayle
technologywoman.com5
How can you help candidates be their best?
Behavioral Problem Solving
twitter.com/gayle facebook.com/gayle
technologywoman.com6
Behavioral Questions: Mistakes
• Underplaying individual contributions• Using “we” not “I”• Not elaborating on actions
• Don’t assume• Probe for details
twitter.com/gayle facebook.com/gayle
technologywoman.com7
Generalist vs. Specialist
• Generalist (algorithms/problem-solving):– Reasonable test of intelligence if done well– Hires highly adaptable people– BUT necessitates that you will train people
• Specialists (knowledge & experience):– Tests that someone can “hit the ground running”– BUT is the knowledge actually difficult to acquire?
twitter.com/gayle facebook.com/gayle
technologywoman.com8
Algorithm Questions
“Problem-Solving Questions”
= Solving a problem you have NOT seen before.
twitter.com/gayle facebook.com/gayle
technologywoman.com9
Problem-Solving Questions
few false positives(only good people pass)
but…
lots of false negatives(many good people fail)
twitter.com/gayle facebook.com/gayle
technologywoman.com10
Why Problem-Solving Questions Work
• Smart people do good work.• Hires adaptable people
So why so many false negatives?
twitter.com/gayle facebook.com/gayle
technologywoman.com11
Why Smart People Fail
1. Knowledge gaps2. Intimidation3. Arbitrary questions4. Not knowing how to be good
These are [partially] solvable problems.
twitter.com/gayle facebook.com/gayle
technologywoman.com12
Why Help Candidates Be Great?
• Goal: good employees, not good candidates.• Do you want to eliminate…–Everyone who doesn’t know ___?–People who are insecure?–People who are bad at interviewing?–People at random?
twitter.com/gayle facebook.com/gayle
technologywoman.com13
1: Knowledge-Gaps (Why?)
• Not knowing fundamental CS knowledge– Especially older people!
• Obscure CS knowledge being tested– Making questions “hard” via knowledge.
twitter.com/gayle facebook.com/gayle
technologywoman.com14
2: Intimidation (Why?)
• Low self-confidence.• Scary questions.• Candidates misunderstanding interview goals.• Interviewers being [unintentionally] rude.
twitter.com/gayle facebook.com/gayle
technologywoman.com15
3: Arbitrary Questions (Why?)
• Well-known questions.• Easy questions.• “A-Ha” moments & singular hurdles.
twitter.com/gayle facebook.com/gayle
technologywoman.com16
4: Not Knowing How To Be Good
• Didn’t use an example.• Tried to rush the process.• Didn’t walk through problem.
twitter.com/gayle facebook.com/gayle
technologywoman.com17
Design Around This
1. Decide what you value.2. Ask the right questions.3. Give candidates tools to prepare.4. Train your interviewers.
twitter.com/gayle facebook.com/gayle
technologywoman.com18
1. Decide What You Value
• Is problem-solving skills a top priority?• What sorts of specialist skills do you need?• Are fundamentals of CS sufficient?
twitter.com/gayle facebook.com/gayle
technologywoman.com19
2. Ask the Right Questions
• Right topics:– Avoid scary topics.– Require only basic CS knowledge.
• Right difficulty:– Medium & hard problems. – Avoid common problems.
• Logical path with multiple insights.
twitter.com/gayle facebook.com/gayle
technologywoman.com20
3. Give Candidates Tools to Prepare
• Tell them:– What to expect.– How they’ll be evaluated.– Struggling is normal.
• Links to preparation resources.
twitter.com/gayle facebook.com/gayle
technologywoman.com21
4. Train Your Interviewers
• How to design good questions.• Be extra nice to candidates.• Coach candidates to be great
twitter.com/gayle facebook.com/gayle
technologywoman.com22
4b. Coach Candidates To Be Great
• Encourage the right example.• Remind them of details.• Don’t let them dive into code.• Encourage shifting gears.• POSITIVITY & SENSITIVITY
A good coach can make a HUGE difference!
twitter.com/gayle facebook.com/gayle
technologywoman.com23
Need The Right Infrastructure
• Interview training• List of good & bad questions -- and why• Standard resource sheets for candidates• Feedback from candidates• Assigned roles• Continuous evaluation & shadowing
twitter.com/gayle facebook.com/gayle
technologywoman.com24
It sh
ould
n’t c
ome
to th
is…