The software industry’s usual approach to interviewing and hiring is terrible.
I’m keeping an evergreen list about problems that exist and what people are doing about it.
Also, see my own long-form article, Interviewing Engineers.
The list is roughly alphabetized by title, with a few short notes to remind me about key points. Suggestions for additions are welcome!
-
A Technical Hiring Process (Dave Rolsky)
- More interviewers in the room, fewer interviews overall
- Homework followed by 2nd round pairing on homework
-
A Walkthrough Guide to Finding an Engineering Job at Slack
- Take home technical exercise; rigorous criteria; blind grading; no algorithm/whiteboard interviews onsite
-
Against the whiteboard (Anil Dash)
- History of whiteboard interviewing and downsides of it
-
Designing a candidate focused interview process (ReadMe)
- Invite candidates to bring their own project and show how they work on it.
-
Developer hiring and the market for lemons (Dan Luu)
- Companies are overly stringent, missing a lot of good people who aren’t good at interviewing; see also We only hire the best means we only hire the trendiest by the same author.
-
Engineering Whiteboard Interviews: yay or nay? (Key Values)
- 11 hiring managers opinions; mostly a mix of “whiteboards don’t reflect work” and “whiteboards are a tool for communication”
-
5 Red Flags Every Woman Should Look for When Considering a Job at a Startup (Krisserin Canary)
- Not understanding their own “culture”, spending loads on materialistic flashy fluff, young white childless male CEO, lack of female leaders, interviews that are only with managers.
-
Hiring is Broken… And It Isn’t Worth Fixing (Erik Dietrich)
- Hiring has an impedance mismatch. Prospects don’t want to waste their time on trivia; employers don’t want to waste their time investigating individuals.
- Best strategy: politely decline whiteboard interviews and find less bureaucratic companies.
-
Hiring is Broken: What Do Developers Say About Technical Interviews? (Chris Parnin)
- Qualitative research study of thousands of developer comments on interviewing
- “candidates perceive these practices as subjective, arbitrary, unnecessarily stressful, non-inclusive—and at times—demeaning to their sense of self-worth and self-efficacy”
-
How to Conduct a Good Programming Interview (Li Haoyi)
- 4 succinct high-level goals for interviews and related subgoals
- Good interview problems: messy, open-ended tasks; multi-stage tasks
- Lots of tactical tips
-
How to Freaking Find Great Developers By Having Them Read Code
- Developers read code more than they write it; reading comprehension is a more natural test of ability.
- Reading and discussing code is less stressful.
- Use a progression of increasingly complicated code samples to discuss; have them predict the output.
-
How to Interview Engineers (Triplebyte)
- They pushed for easier questions with multiple steps, grade on rather strictly on how the candidate gets there
- They do resume blind interviews.
- They suggest grading on “max skill”. Look for a strong reason to hire instead of looking for everyone to agree.
- On the last one, essentially don’t worry if they tank one technical question if they knock it out of the park on another.
-
How to Make Tech Interviews a Little Less Awful (Rachel Thomas)
- False negatives are biased against people who don’t resemble the interviewer or their expectations
- Best interviews resemble what candidates would actually do in the job and use a clear rubric for grading.
- (Also, full of links to other articles)
-
How to structure developer hiring to combat systemic DEI failures (Shannon Hogue-Brown)
- Assess competencies; avoid ambiguity; use structured scoring rubric; train and review interviewers; beware of pedigree bias
-
Improving Our Engineering Interview Process (Foursquare)
- Take home followed by code-review
-
Interviewing at Calm as a Software Engineer
- Explanation for interviewees, including technical interview expectations
-
Interviewing Engineers at Sensu
- Coding challenge choice: 2 hour pair session or takehome; mastery-based grading
-
I’ve been an engineer and a recruiter. Hiring is broken. Here’s why… and what it should be like instead (Aline Learner)
- Deep analysis of market-driven problems in typical hiring processes
- Analysis of failures of alternatives like Hired, Triplebyte, and AngelList
-
Medium’s engineering interview process
- Excellent breakdown on grading candidate responses & assessment criteria
-
Moneyball Hiring: The Interview (Moz)
- Look for a growth mindset and a diverse set of skills; use a collaborative mini-hackathon
-
My Lessons from Interviewing 400+ Engineers Over Three Startups (Marco Rogers)
- Fewer filters; more interviews; three person interviews
-
Picking problems for programming interviews (Will Larson)
- Concrete example and guidelines for good non-algorithmic-puzzle exercises
-
Refactoring the Mirrortocracy (Carlos Bueno)
- Several good, tactical recommendations for interviewing at the end
-
Starling Software Interview process
- Unusual: ask candidates to self assess on a competency matrix
-
Tech Sector Job Interviews Assess Anxiety, Not Software Skills (NC State University)
- “in our study, all of the women who took the public interview failed, while all of the women who took the private interview passed”
-
The Asana Engineering Interview Guide
- Level the playing field by providing a guide to the interview
-
The Developer Hiring Process is Broken (Pivotal)
- “We believe coding is a social activity. In fact, we’re testing you to see how social you can be around coding.”
- Pair programming around general CS topics
- Selecting for “basic engineering competence and the ability to think quickly and interact with somebody they don’t know”
-
The Hiring Post (Thomas Ptacek)
- “Being good at navigating hiring processes requires a basket of skills that isn’t correlated with job performance”; use work samples and scripted interviews
-
The One Method I’ve Used to Eliminate Bad Tech Hires (Mattermark)
- Paid take-home assignment followed by in-person discussion
-
The Utter Uselessness of Job Interviews (New York Times)
- “[interviewers] have no trouble turning any information into a coherent narrative… [even] when the information is random”
-
Three hundred programming interviews in thirty days (Triplebyte)
- Automated quizzes are highly predictive; talking about coding is not a good proxy for actually coding
-
There’s no ‘silver bullet’ to increasing diversity, but here’s how we’re making progress (Magoosh)
- Towards end: structured interviews with rubrics; cover letter writing advice
-
Thirteen thousand, four hundred, fifty-five minutes of talking to get one job (Jeff Kolesky)
- First person views of what would have made for better interviewing
-
This is why you never end up hiring good developers (Laurie Voss)
- “interview techniques test skills that are at best irrelevant to real working life”; hire for what people can grow into, not what they’ve already done or can show on a whiteboard.
-
Uprooting the Binary Tree (Free Agent)
- “we decided that if none of us liked doing [algorithm puzzles] during our own interviews, why would we subject our future colleagues to them?”
-
We built voice modulation to mask gender in technical interviews. Here’s what happened. (interviewing.io)
- No effect from voice pitch; women stop practicing interviews more often than men after bad feedback.
-
We’re Hiring Engineers All Wrong. (huffpost)
- Focus on concrete abilities necessary to succeed in the role; use behavioral interviews to draw these out; behavioral interviews let candidates put their best foot forward.
-
Who Y Combinator Companies Want (Triplebyte)
- Companies look for very different types of programmers, requiring different types of interviews
-
Why is hiring broken? It starts at the whiteboard. (Quincy Larson)
- Whiteboard interviews are akin to a hazing ritual
-
Why Senior Engineers Hate Coding Interviews: And what you should use instead (The Startup)
- Great analogy to hiring a generalist teacher; recommends short take-home assignment
-
You can’t fix diversity in tech without fixing the technical interview (interviewing.io)
- “technical interviewing is a process whose results are nondeterministic and often arbitrary… [that] hit underrepresented groups the hardest”
Many similar articles can be found at Awesome Leading and Managing / Hiring and Interviewing.