What do SWE interviews look like?
As part of optimizing the Ladderly curriculum, I am currently conducting an empirical investigation on what the software engineer interviewing process looks like. This article lays out a survey methodology.
- Not to be studied: Big N uses a 3-stage interview process inclusive of live-coded algorithm interviews with asymptotic and time complexity analysis.
- FAANG has public interview guidance that makes this clear, plus I've intereviewed at these places. For Facebook (when I applied and they were still called Facebook), Google, and Amazon, studying leetcode is officially recommended during the interview process by the employees of those companies.
- Under investigation: What about Tier 2+ Companies and Startups?
- Tier 2+ company operationalization: Search \"Software Engineer\" on Indeed, exclude companies listed on levels.fyi. That is, inclusion on levels.fyi is an operationalization of Tier 1 / Big N.
- Startups operationalization: Search \"software engineers\" on Angel's List,
- In both cases, sort results by time and select the K most recent excluding promoted posts.
So far I've reached out to ~20 companies and I've quickly found that reaching the company is a pain point. I have managed to find a contact point in every case, but I've resorted to varied modes of contact:
- Email a \"contact us\" address from website
- Submit a \"contact us\" form on a website (to unknown address).
- Twitter DM to company account
- Find a recruiter or hiring manager on LinkedIn and DM them
My personal hypothesis is that Tier 2+ companies mostly do not ask about asymptotic analysis. They may say they have whiteboard or algorithm interviews but they mostly do not run them like Big N. I'd love to get empirical confirmation or rejection here, as this hypothesis is built on shoddy anecdote.
At the same time, I think the case of statistical ignorance and null hypothesis accords with Ladderly's curriculum to date. If we are ignorant then we should guess that 50% of Tier 2+ companies do follow Big N (ignorant under a yes/no outcome variable like a coin toss).
If 50% follow Big N then I'm still very happy to recommend learning HTML, CSS, JS, and React, developing the portfolio, and running a DS&A crash course concurrent with starting the job search.
If 80% or more of employers value leetcode-style questions and pay little value to the portfolio, I would consider having students skip or deprioritize HTML, CSS, and React and grind leetcode instead. I might even have them focus on Python over JS in that case as Python is often taught for and used to document solving algorithms.
Below is the contact message I'm using.
Hi!
I'm conducting research on Software Engineer hiring practices for Ladderly and Hiring Without Whiteboards.
Would you mind answering the 6 yes/no questions below? Responses will be aggregated and anonymized.
- Does your process include Technical Skills Screening using a tool like HackerRank?
- Does your process include a take-home exercise?
- Does your process utilize pair programming?
- Does your process evaluate coding skills at the framework level?
- Does your process ask a candidate to perform asymptotic or time complexity analysis on an abstract problem?
- Does your process involve a live coding interview with a real-world problem?
Optional: If you would like to have your company added to the Hiring Without Whiteboards GitHub list, please provide a short blurb about your process below.
Thanks!
John Vandivier