3. gayle in/gaylemcdgayle 3Gayle Laakmann McDowell
They
Don’t
Know…
Howmany interviews
Who will be interviewing
If they’ll code?How?
What they need to know
Howdecision gets made
WHY?
Lotsofmyths
(andmisinformation)!
5. Gayle Laakmann McDowell 5gayle in/gaylemcdgayle
Consistency & Efficiency
Consistency
Outcome
Process
Questions
Efficiency
Speedy process
Able to expedite
Minimal overhead
Minimal false negatives
6. Gayle Laakmann McDowell 6gayle in/gaylemcdgayle
High Bar & Happiness
High Bar
Minimize false positives
Good, adaptable people
Happiness
Enjoyable experience
Makes company look good
Transparency
7. 7 gayle in/gaylemcdgayle
The Process
Resume Selection
Intro Call w/
Recruiter
Email that outlines
process
Code Assessment
Phone Interview
~4 onsite
interviews
Discussion &
Decision
“Sell” Call / Dinner
8. gayle in/gaylemcdgayle 8Gayle Laakmann McDowell
Stuff
I’ll
Discuss
BarRaisersvs. Hiring Committees
OfflineWork
Homework vs code assessment tools
QuestionStyle
Knowledge, algorithms, pair programming
Coding Platform
Real code vs. pseudocode
Whiteboard vs. computer
12. Gayle Laakmann McDowell 12gayle in/gaylemcdgayle
Who’s it good for?
Companies that:
See5or more devcandidatesperweek
Wanttoimproveprocess
Hireforcompany,notteam
Arenotveryknowledgefocused
Easier to implement early!
13. gayle in/gaylemcdgayleGayle Laakmann McDowell 13
HiringCommittee: Best Practices
Meet at least 2x per week
Multiple HCs:
Beware ofbarcreep /inconsistencies
Let interviewers observe HC
Traininterviewers to write feedback
Quality of decisions rests onfeedback
14. gayle in/gaylemcdgayleGayle Laakmann McDowell 14
Bar Raisers
Cons
Need consistency across
company
Need to scale team
Pros
Many ofHC benefits:
Consistency
High bar
Transparency
But easierto implement
No bottleneck
15. gayle in/gaylemcdgayleGayle Laakmann McDowell 15
Bar Raisers:Best Practices
Select people who areinherently good
Experiencedatinterviewing
Nice, empathetic
Smart&can challengecandidate
Train them thoroughly
Empowerthem
Assign outside of team
Watch out for scale/exhaustion!
18. gayle in/gaylemcdgayleGayle Laakmann McDowell 18
Homework Projects
Big
Very Practical
Some love this
Lesscheating
Except:algos
Too immediate
Needs eng time
Disproportionate workload
Scales poorly for candidate
19. gayle in/gaylemcdgayleGayle Laakmann McDowell 19
Homework: Best Practices
Show candidate
interestfirst
< 4 hours
If >4, onsite project review
Architecture, not algorithms
Define review criteria
Avoid confusion with
company work
20. gayle in/gaylemcdgayleGayle Laakmann McDowell 20
Homework: Who It’s Good For
Language focused
Low priority on algorithms / thought process
Experienced candidates (maybe)
21. gayle in/gaylemcdgayleGayle Laakmann McDowell 21
Code Assessment Tools
Fast, cheap eval
Morecandidates
Non-traditional
Sets expectations for onsite
Consistent data point
Cheating
May turn off senior
candidates
23. gayle in/gaylemcdgayleGayle Laakmann McDowell 23
Who It’s GoodFor
Small, mid-sized, and big companies
Value algorithms / problem solving
Lots of candidates
Want to look at non-traditional candidates
24. gayle in/gaylemcdgayleGayle Laakmann McDowell 24
Code Assessment: Best Practices
Show candidate interest
first
Beware of cheating
(But nobiggie!)
Clearexpectations
Pick GREAT questions
Similar to real interviews
Unique questions
1 – 2 hour test
30. gayle in/gaylemcdgayleGayle Laakmann McDowell 30
PairProgramming
Many candidates enjoy it
Feels fair & real world
Assesses codestyle / structure
Shows interpersonal interaction
Less understood
Not greatfor algos
Interviewer really matters
Biased by tools
31. Gayle Laakmann McDowell 31gayle in/gaylemcdgayle
PairProgramming: Best Practices
Prep/warn candidates
Need GREAT interviewer
Give choice of problems
Okay/good to pick unreasonably big problems
Guide candidates
(Okaytoaskquestions,notknowtools,etc.)
33. Gayle Laakmann McDowell 33gayle in/gaylemcdgayle
Why We Make Them Code
Can theyput“thoughts”into “actions”?
Do they show good structure and style?
Do they thinkabout theimpact of decisions?
35. A Game with Secret Rules
… and this is for a
simple problem
36. Gayle Laakmann McDowell 36gayle in/gaylemcdgayle
Don’t Allow Pseudocode
Unpredictable playing field
Detailsmatter
If “real code” is too hard for them…
37. gayle in/gaylemcdgayleGayle Laakmann McDowell 37
How toCode
Big Practical Stuff
Use computer
Pair Programming
Small Stuff
Algorithm-focused
Computer or
whiteboard
41. gayle in/gaylemcdgayle 41
z
Gayle Laakmann McDowell
Computer
Best
Practices
Let candidate bring laptop
Instruct: not every detail
Encourage communication and
thinking
Recognize the bias!
42. gayle in/gaylemcdgayleGayle Laakmann McDowell 42
A Case for Whiteboards
Encourages thinking & communication
More language agnostic
Consistent across candidates
Better laptop/tools doesn’t matter
It’s “standard”
44. gayle in/gaylemcdgayle 44
z
Gayle Laakmann McDowell
Whiteboard
Best
Practices
Encourage shorthand
Be upbeat & encouraging
Reasonable expectations
45. gayle in/gaylemcdgayleGayle Laakmann McDowell 45
Recommendations
If skill-focused:
then Computer
If algos-focused:
then Whiteboard
If a little of each:
then Either/or
Both can work!
… with proper training
Whynot let candidate choose?