interviewing great developers: reverse engineering interview coaching to create great candidates

Post on 11-Aug-2014

158 Views

Category:

Career

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Every engineering department says it wants to hire the very best, but few actually do. Most coding interviews focus on programming language knowledge and trivia. But companies that hire the very best ask questions that go much deeper. In this session, you will discover what hiring managers at “elite” companies look for when hiring developers, architects and program managers. Discover why, in some cases, it’s far more important that engineers exhibit “soft skills” like communication, structured thinking and creativity than exhibit proficiency in a specific language. Gayle, author of three books on interviewing (for devs and PMs), will “reverse engineer” her coaching and advice to hopeful candidates, to help recruiters screen and select the ever-elusive A-players, gurus, rock stars, and ninjas.

TRANSCRIPT

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…

top related