Transcript
Page 1: 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

Page 2: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

twitter.com/gayle facebook.com/gayle

technologywoman.com2

Gayle Laakmann McDowell

<dev>

</dev>

Author Interview Coach Interview Consulting

(CS) (MBA)

Page 3: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

twitter.com/gayle facebook.com/gayle

technologywoman.com3

What I Coach

Download at: CrackingTheCodingInterview.com

Page 4: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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.

Page 5: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

twitter.com/gayle facebook.com/gayle

technologywoman.com5

How can you help candidates be their best?

Behavioral Problem Solving

Page 6: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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

Page 7: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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?

Page 8: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

twitter.com/gayle facebook.com/gayle

technologywoman.com8

Algorithm Questions

“Problem-Solving Questions”

= Solving a problem you have NOT seen before.

Page 9: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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)

Page 10: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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?

Page 11: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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.

Page 12: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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?

Page 13: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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.

Page 14: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

twitter.com/gayle facebook.com/gayle

technologywoman.com14

2: Intimidation (Why?)

• Low self-confidence.• Scary questions.• Candidates misunderstanding interview goals.• Interviewers being [unintentionally] rude.

Page 15: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

twitter.com/gayle facebook.com/gayle

technologywoman.com15

3: Arbitrary Questions (Why?)

• Well-known questions.• Easy questions.• “A-Ha” moments & singular hurdles.

Page 16: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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.

Page 17: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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.

Page 18: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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?

Page 19: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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.

Page 20: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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.

Page 21: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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

Page 22: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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!

Page 23: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

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

Page 24: Interviewing Great Developers: Reverse Engineering Interview Coaching to Create Great Candidates

twitter.com/gayle facebook.com/gayle

technologywoman.com24

It sh

ould

n’t c

ome

to th

is…


Top Related