How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How to Hire Software Engineers: Best and Worst Practices
1. GayleL. McDowell | Founder/ CEO, CareerCup
gayle in/gaylemcdgayle
Dev Interview Training
How to InterviewDevelopers:Best& WorstPractices
Oct 15, 2015
19. gayle in/gaylemcdgayleGayle Laakmann McDowell 19
2. Bad Practices& False Negatives
Only basic knowledge
Requiring stuffyou don’t really need
Too many factualquestions
20. gayle in/gaylemcdgayleGayle Laakmann McDowell 20
3. Best Practices
Hard to acquire ORa red flag
Relevant to job
Discussions > fact grilling
Evaluationshouldbemostlyqualitative
OR:QuestionseasilyGoogledare bad
25. gayle in/gaylemcdgayleGayle Laakmann McDowell 25
3. Best Practices
Ask open-ended problems
Encourage follow up questions
Have candidate walk through
Let candidatedrive
26. gayle in/gaylemcdgayleGayle Laakmann McDowell 26
4. Evaluation
Ability to make tradeoffs
Ability to identify issues
Separate knowledge from attributes
Response to feedback
27. gayle in/gaylemcdgayleGayle Laakmann McDowell 27
5. Examples
DesignAPI for…
System for Amazon book rank
System for TinyURL
OOD for a music library
34. gayle in/gaylemcdgayleGayle Laakmann McDowell 34
3b. Be Nice and Friendly
Intimidatedcandidates do poorly
Candidatescling to every word
Usethis!
“Goodjob”,“greatpoint”,etc.
Especiallyifthey’restrugglingornervous
35. gayle in/gaylemcdgayleGayle Laakmann McDowell 35
3c. Coach
Give hintsas necessary
Encourage examples (input/output)
Remindthem of key details
Stop themfrom writingcode too early
36. gayle in/gaylemcdgayleGayle Laakmann McDowell 36
3d. Phone Interviews vs. Onsite
Don’t “go easy” on thephone
But avoid problems needingdiagrams
Strings,hashtables,linkedlistsare easytodraw
Treesandgraphsare hard
37. gayle in/gaylemcdgayleGayle Laakmann McDowell 37
4. Evaluation
Not just correct vs. incorrect
Howoptimal?Howquickly?Howmanyhints?
Compare to other candidates
Earlyonyouwon’tbecalibrated
More of a “gut feel”thana metric
39. gayle in/gaylemcdgayleGayle Laakmann McDowell 39
Sub Permutations: Given two strings, s and t, find all
permutationsof s withint.
5. Good Question
42. gayle in/gaylemcdgayleGayle Laakmann McDowell 42
2. Bad Practices & False Negatives
Requiring every detail
Tedious questions
Taking over the testing
Lettingthe candidate code too early
43. gayle in/gaylemcdgayleGayle Laakmann McDowell 43
Goal: “Seemingly compilable” code.
Don’t waste time
Do you really need that Node class?
Encourage abbreviations, skipping uninteresting parts, etc.
Make it clear when they should/shouldn’t code
Encourage testing, refactoring, etc
3. Best Practices
44. Gayle Laakmann McDowell 44gayle in/gaylemcdgayle
4. Whiteboardvs. Computer
More communication
Morethought
More focus on essentials
BUT: slow & tedious
Can bemore comfortable
Can write faster
BUT: compiling can be
distracting
45. gayle in/gaylemcdgayleGayle Laakmann McDowell 45
5. Evaluation
Look at structure and style
Butdifferentiatewhat’strainable
Not about complete vs. incomplete
Let the candidate test
47. gayle in/gaylemcdgayleGayle Laakmann McDowell 47
Remember:
It’s on YOU to get theinfo you want
Challengeyour assumptions
Separate “did they do X?” from “can they do X?”
47