Ask HN: When did 7 interviews become “normal”?
Hello fellow travelers, I'll do my best to keep this brief(ish).
I've been in IT professionally since Y2K, data entry->QA->SysAdmin->PM->consultant->founder->sold and with the money took some years off, bought some property and a fixer upper and went to school and got a BSBA degree (never graduated from high school but wanted to show my kids the importance of a degree). I missed working and creating things with people so decided to reenter the job market in the PM space. So now that my hat is in the ring I have been told by recruiters what I need to "expect" in this "new market."
I was told "5 to 7 interviews is normal". What? I genuinely feel like I'm having a 'Blast from the Past' moment in this whole thing (good 90s romcom kids, look it up).
When did a hiring manager lose their authority and the trust of the organization to do their job? Am I just out of touch? How is a process like this in any way shape or form efficient or productive? Am i missing something? HN, please help!
832 comments
[ 0.25 ms ] story [ 352 ms ] threadI actually there’s quite a few “ethical” sociopaths who don’t care about anything but success but aren’t willing to hurt people or break laws to do so. They don’t have empathy toward people but accept that not hurting people will advance their cause.
But on the other end... I've worked with some people that are pretty good at leetcode and very fast coders. But even though they write many pages of code every day and tons of commits, their code is absolutely horrible, full of bugs, impossible to read. They got stuff done, but it was at great cost in the future. That was mostly why I left my original job in the first place (looking for work now for 18+ months). We hired a couple of new people and they were pumping out so much code I couldn't keep up with all their commits. Bugs started rolling in and they were too busy working on the new projects to fix their old crap. Boss had me hunting down and digging through their garbage code while my projects were getting behind and I was the one "under-preforming". I started going insane, unable to get out of bed, staring out the window for 12+ hours a day unable to look at their code. Mostly walked out. Those new people all quit after I left as well but the company's market crashed due to covid so we would have all be laid off anyway.
They want cogs for the machine.
Tech companies have the lowest infrastructure costs of any industry, and so they have no place to hang their risk aversive paranoia except on personnel (the safer you are, the more trivial the things you fear).
There's nothing logical about it, but since they have to fear something, it'll be whatever some douchebag with a following puts in their next "XYZ considered harmful" blog post.
That, or we’ll have some representative from the big 5 saying “Hey guys, Jayden from (x soulless Silicon Valley company) here. Not speaking on behalf of my employer but actually at X Corp(tm) we’ve found that anything less than 37 interviews (+tip) isn’t enough to let the real stars shine through. We’re all about finding the true team players who are a good culture fit” within 2 minutes of the post going up.
I'll get cracking on it. It'll be my next hit after my last blog post about tech hiring "Hiring Developers: How to avoid the best" - https://www.getparthenon.com/blog/how-to-avoid-hiring-the-be...
no i'm not telling you what it is :(
Resumes suck, take-homes suck, interviews suck, nepotism sucks; yet people still need to invest $x00,000 based on something. I don't have the answer, but let's not pretend it's not a hard question.
* I think the actual factor is higher, but I think most people would agree to a factor of 2 without much debate.
There are definitely 10x (and even 100x) engineers, but throw five 10x engineers together and you will get substantially less than 50x results. There's always mundane but time consuming shit that can best be handled by a 1x.
And a bigger issue is that no company can hire a team of 10x engineers, because it's very expensive, 10x engineers are relatively rare, and dedicating more resources to the interview process gets diminishing returns in terms of identifying and hiring them. Not even companies with effectively infinitely deep pocketbooks manage to succeed at that.
It's best to design systems optimized for the 1x case, focus a lot on avoiding the -1x candidates, and grab the exceptional candidates opportunistically when you get the chance, usually by working outside the process. Which seems to be what the industry has defaulted to.
If you want good coders look for resumes with startup experience. You don't survive as a senior developer at a startup without being being able to write code under pressure.
If you want someone who can glue various systems while cross communicating to various stakeholders look for someone at a larger company.
If you want both, look for both sets of experience on the resume.
People with 10+ will filter out positions that won't succeed at better than you can filter them out.
Lots of code that's written under pressure isn't good code. It's code that barely works and is hard to maintain. For a startup that's trying to get an MVP out quickly (and may not be around in a couple of years), that may be just what they need. But a huge company like Google needs developers who can write software that's reliable, performs well and is maintainable for years after the original developer is gone.
Hell, even for the interviews, some people cheat one way or another. But it's at least harder to do that than to make up stuff on your resume.
The straightforward, obvious answer of: maybe it makes more sense than you think has no appeal to it, but I think it's closer to the truth.
I'll let you answer for yourself if the answer had insight or appeal. Both tickle that novelty button, but only one has (elements) of truth.
So, we switched to "here's a short test, go in this room and do the test". Then we'd look at their answers. If the answers were wrong/poor we'd thank them for their time and excuse them. This way, less of our time was wasted. That test included an extremely small task like FizzBuzz. If you can't answer it you can't program, period! It filtered out the 9 out of 10 applicants who should never have applied in the first place and saved us a bunch of time.
At a big company the phone screen is supposed to do that but phone screens still take a hour or more of some engineer's time.
I remember about a dozen years ago taking one of these tests at an interview. Interviewer takes me to a room and says "We've got this little test, I'll be back in 2 hours.". I take the test. Guy comes back in and says ok, we'll look this over and let you know... Crickets. Didn't hear back so I figure I must've bombed the test. 2 years later that guy calls me up and asks if I want to come in for an interview. I say "I never heard back so I figured I bombed your test" He says "No, you did great, we just got kind of busy". I politely declined to interview with them again.
We would give them a quick screen of “write in one of the languages this position requires a program that takes in a string, reverses it and prints it out.” And we changed it to any language once we started working with novel stuff like JavaScript that any programmer could pick up.
It was so weird how many people would fail this test.
I always wondered how other industries dealt with people just flat out lying on resumes and applying for positions they shouldn’t. Programming is lucky that we have some litmus tests.
I feel bad for people who freeze up and can’t even write a three line program on paper.
Want to become a doctor? Study for 12-15 years. Lawyers, accountants, pilots, actuaries all have similar multi-year licensing requirements. Places like investment banks and consulting firms will put candidates through a multi-week interview process involving stuff like case studies which make a 1 hour technical interview seem like a joke. And on top of it all you still have to "make an impression" which involves networking and ass kissing the right people in the chain.
Being able to walk into any company with just a 4-5 hour mostly objective interview is one of the best parts of the software industry.
Yeah, and all of those years are filled with constant punishment. In my experience it was common for medical students to have depression, severe anxiety, panic attacks before and after tests and exams. Binge drinking was extremely common after. At least two students committed suicide.
A glimpse into US medical school life:
https://web.archive.org/web/20101218031844/http://www.medsch...
Definitely not something to be emulated.
Turns out he was addicted to cocaine.
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7828946/
I do the same kind of interview, and after figure this issue happens, also LEFT the room.
Then eventually add: You can do it any language (even different to any we was hiring), then add: You can do whatever you want to succeed (hinting to the fact the machine used has the docs, internet, YouTube influencers, whatever at their fingerprints).
It STILL have huge casualty rates.
What all of this left me to wonder: How the heck this industry absorb they?
e.g: I challenge you to give an answer to my question?
it's such a simple question, how could anyone not give the right answer. but it's as badly communicated as your comment, subject to interpretation and perplexing.
now imaging being in a position of inferiority, in total fear to be asked about things you've never hear about before. like it happens not so rarely when sitting University in exams. you studied 90% of the curriculum for a year, but, bad luck, the exam concentrates on that 10% you've overlooked. you haven't prepared for a year for that interview, but it does feel like it while waiting in that soulless waiting room. The secretary bored to death nearby doesn't help gain any courage: she mastered the art of pretence, she isn't building some complex excel queries, she plays the solitaire. but you don't know that. and you haven't even entered the interview room yet.
if you don't picture that scenario, just try to give a speech on a very large audience. you will see how emotions can very well take full control over you.
Questions:
- Reverse a string like "hello" without using the "reverse" function of your lang, ie: manually
- Do it in the lang you prefer most
- I will return later when you are ready
- This machine is as your full disposal, so use anything you need.
Seriously, if this is challenging, now imagine when facing actual requirements...
this interview question is crystal clear and anyone applying for a software dev position should be able to provide a valid answer.
it doesn't remove the fear factor problem. but agreed. that's also why we got screening calls, in 10 mins even a tech recruiter can filter out wanna be engineers who can't answer super basic tech questions.
I do generally agree with the cargo cult sentiment, but not in this case.
The main thing I dislike about the 7+ interviews is that I dislike interviews and there are 7 of them to get through. I once did four in one day, back to back, and I was extremely tired afterwards. So my big fear as a candidate is that either 7 interviews will happen over 1-2 days and I'll be absolutely fried after the first 2, or they'll be so hard to schedule it'll take 6 months just to have them all. I'm also a bit afraid they'll cargo cult some of the interview questions and I get a bit sick of "please recite 1st year CS algorithm" questions (I never ask these personally) but otherwise 7 interviews is fine, if they accept I am a human candidate and I'm not really comfortable in the process anyway.
It literally takes a few minutes and is great for weeding bad candidates. It is a win-win for everyone involved.
Now, everything sucks. People who only know the tech they trained for. Tools are written for idiots, and the only thing even more written for idiots than that is the code we're supposed to be producing. Teams believing whatever stupid fad some trendy consultant prepared for them. Way too much support staff when I used to be able to call the stakeholder up directly and square any issues, now I have to go through like 4 idiot nontechnical PMs.
One of my previous managers compared us to a basketball team. Ew ew ew ew ew ew EW!
Tech sucks now. Get the business and nontechnical people out! All they contribute is bloat and mediocrity. The only people who should be in charge are those that have been at this for life.
Similar stuff happened with other technology too. A couple people could build an early airplane but a modern jetliner is so tremendously complex that you need years and a full company to get one out the door.
Amazon literally has a research team focused in hiring, and they run A/B experiments to continually improve the process. The current interview format is not a cargo cult, is a high refine process through the years.
Is it perfect? hell no, but it isn't the mindless copycat people make it to be. They have actual data to back up what works and what doesn't, although it might take several years to happen (like when Google finally dropped brain teasers).
Ultimately, if the point is "you guys are doing it wrong", they're going to look back at their financial success, shrug and say "seem to work for us". They have had problems with treatment of employees and other issues, but I'm assuming we're talking about hiring in the context of people being hired to do a job that financially benefits the company. Just my $.02
Well it's been a while for me, but "we just do what the other guys do" was the impression I got when I interviewed there. Except they added a lot more "here's a terrible workplace situation, how would you handle it".
I'd love to know what their research is revealing, beyond questions like the latter case being emphasized.
The median time an employee stays there is now under 2 years. Clearly Amazon isn't hiring the calibre of people they need.
They burn up engineers. What good to them is a burnt out engineer?
Who cares, hire another one?
It's eerily like the military using up soldiers, and I doubt it's an accident. They're maximizing output for their money and they don't care if it makes the engineers suicidal or quit. They can always get more.
There are plenty of Amazonians who can handle the culture and stay much longer. It's clear they are not hiring those who can do. It's not an "alternative" hypothesis, but the same one. They haven't figured out how to identify those who can handle it.
And this, given how heavily behavioral their interview is.
If the problem was a loud office you'd say they should select for deaf engineers instead of fixing their shit.
Yeah, sure. We got all these smart people in a room. They can't be wrong. /s
I'd actually say the opposite. These researches are probably making hiring worse.
The US President interviews for a whole year, for $400k/yr
That's why very few presidents we could name not even great but at least good. - Just most good candidates don't even try to enter this nightmare.
Because hiring the wrong person becomes a colossal waste of time and money.
And then, as others have said, there's the cost of the people who look at your hiring process and decide that they won't bother to try to jump through your hoops. Hint: They are not the least valuable candidates.
Up front (before talking to the hiring manager) artificial coding challenge is a massive red flag, and I'll bail at that stage with most companies.
Last week I asked one of their spear fishers via LinkedIn if they're still doing that. She confirmed they are so I don't need to talk to them for a while.
We found the right person though.
The number of times I’ve seen a wrong hire fumble their way into our company and burn months and months of time then we have to hire again and then the months of fixing the screw ups disgusts me.
I’m guessing not.
Two or maybe three interviews should be adequate for most positions.
I think the reality is that most people are pretty bad at selection, no one wants to shoulder the blame when things go sideways, so the solution is just to create a system where everyone (and therefore no one) is to blame. In reality, this creates an environment that is default No instead of default Yes. Whether that’s good or not for a specific company at a specific instant of time is really something only they can decide.
Fwiw, pro-tip, eliciting work samples that are close to the actual job are the best predictors of success. This may create some burden on the hiring org to create a good process, but it reaps huge dividends.
Initial meeting Tech screening Case study/system design Meeting with upper level manager Meeting with peers Doing 1 last interview on something the team felt was still and open question
I think it all emerged from the recruiting/HR market. They started as middlemen but found a way to take on more of the "gatekeeping" role in hiring.
This then lead to recruiters using more and more technical jargon and then we saw the emergence of leetcode interviews trend from faang, and multiple stupid interviews, because it's the trend.
nahhhhhhh
It’s absolutely nuts. I ignore requests from any company that publicly says they require it.
I literally never heard about such a thing here. (Not saying it's not happening. I am not from here originally.)
With the emergence of Google, et al, and the image of being elite, so came the emergence of nonsense like this: https://www.inc.com/jessica-stillman/here-are-all-the-docume.... Getting butts in seats and long processes have replaced getting to know people before hiring them. The burden has been put on the candidate by the process.
I'm with you, OP. I remember the days of simpler processes. After going through the hoops of 5+ interview rounds in 2019 and 2020, I decided to apply limits to what I was willing to do for interviews. For example; I won't do leetcode, I won't enter a process with more than three steps, I won't give more than 5 hours to a process. This has significantly reduced the number of positions available to me, but the positive result is that the positions that do fit into my ruleset are high-quality, smaller companies, with more upside than the larger companies. I find that the companies that do fit into my ruleset about interviews actually want to get to know who I am and what I'm bringing, rather than if I'll just fit an open role or some quota. Now I'm not making FAANG salaries nor benefits, but I really enjoy the work I'm doing, the people I'm building with, and I'm very well taken care of financially.
100%. I changed roles recently. If a recruiter described such a lengthy process, I simply told them I neither had the time nor the desire to take part. The worst interview process I actually went through with was originally supposed to be 4 1-hour sessions across multiple days, which the recruiter arranged to have compressed to 4 30-minute sessions back to back. I agreed and ended up accepting an offer.
More of us need to push back on the inconsiderate demands on our time. There's a shortage of developers and we have plenty of other options if they want to make the hiring process so unpleasant.
Could you elaborate on how things worked differently in the past? I legitimately have no idea what a developer interview "loop" would look like without 5 to 7 interviews, but I desperately hope it can exist.
I think 3 interviews is probably reasonable. A leetcode style tech screen, a design one, and then a general work style/culture fit interview.
Also, I don't know why more companies don't record interviews. Probably a legal and/or HR thing. But it'd definitely cut down on the need for repeated questions.
Also, none of them were specialized. No one asked are you a Front End Programmer? Back End Programmer? UI Programmer? Graphics Programmer? etc... It was just "programmer", do whatever is programmers do.
That part today I really dislike. The teams have gotten giant and you often have to choose some speciality position.
2010-ish is when I first encountered the "code on a whiteboard", and later "code in a shared doc" style of interview. One was basically 5 hours non-stop. Pure hell.
Here's how it worked for me 25 years ago (in France).
Two-three informal interviews to make sure I wasn't too weird, and got offers purely based on my resume. I remember some companies had personality tests but never got any technical questions.
First interview was with the hiring manager, sometimes in person sometimes over the phone. In person was a good sign because if it was a technical position you'd usually have the senior join the meeting. Goes well, job offer within 2 business days.
Second interview was generally exclusively for highly technical OR executive leadership (depending on position). Again, it goes well, job offer within 2 business days.
If there was another stronger candidate and the prospect was side-lined but later reconsidered there might be one last interview if enough time had gone by to put a face to the name again.
hire fast, fire fast
and
hire slow, fire slow
If for legal or cultural reasons you can’t fire fast, that leaves you with only one choice.
Increasing the difficulty and frequency of interviews is a bandage for bad processes. It's also going to increase your false negative rate. In a job market like this, you just can't afford to do that.
That's crazy. I have literally never heard of anyone actually doing that irl, only ever in the media (and then mostly English-speaking media at that). Half of them? Do they ever win those? Don't they need to pay for the company's lawyer costs if you can convincingly argue this claim is entirely baseless opportunism? Is there ever even a slight basis for this, any colleagues that treat them just a little bit less nicely or anything?
Edit: upon re-reading to add the citation I noticed the word "threat". Additional question: anyone ever follow through on that, or were the threats ever credible?
(Assuming the dispute is about $50k).
And in many areas companies must hire attorneys to represent them. They can't represent themselves.
I'm all for resolving actual issues, and I think the solution here is: - make it so parties do not need to hire attorneys - use things like fairclaims.com to arbitrate (must faster and cheaper)
Having commercial companies sit in a judge's seat is so dystopian I haven't even read the idea in any fiction yet. This is the second time I come across it, previous time was when someone pointed out that the Epic Store has such a clause in the TOS.
I had a day of interviews (~7 people) in early 2000 at an internet consulting firm, mostly people I worked with directly once I was hired.
Whatever virus those places had, it seems to have spread.
I've also been hired after one or two conversations with one or two key people.
Yeah, it's definitely not. I've never done more than 3 interviews, and that was the exceptional case. Vast majority have been either one interview with the hiring manager or two interviews where one is with the immediate hiring manager and the other was with someone more senior within the company.
—- prescreen over the phone with recruiter
—- 1 hour prescreen with one or two devs
—- 3-5 one hour interviews given within 1 or two days (previously called an onsight)
1. Recruiter screening
2. Hiring Manager interview/screening
3. Hiring manager + your peer group within your org
4. hiring manager + your peer group outside your org (just because everybody is so busy)
5. Hiring manager + more senior leaders (this could take place before peer group)
6. Individual separate meetings with your future directs (more formality at this point)
Now, if it is a contract role, I will hire just after 1-2 panel interviews depending on level.
Be suspicious when anyone says something is normal in tech that tries to speak about the operations and culture of a vast array of companies, especially recruiters and very especially recruiters who work for recruiting companies.
Tech is a massive industry, and there's enough companies that don't do the normal thing that you can spend only a year at those companies and still have enough companies to remain employed for a lifetime. That's only 45 companies from age 20 to 65 if you only ever work a year at a single company.
That said, 5-7 seems exceptionally high. I've only ever done a max of 4, personally.
The same is about large test tasks - tests should be small (less than few hours) or paid.
Otherwise, it feels like a gamble of a huge time sink that could have gone towards something actually beneficial/profitable.
Having had too much of my time and energy drained in the past with the run around, I said fuck it the last time when facing the option to interview or go my own way, started my own thing and haven't looked back since.
Even when you do get an offer, it's a gamble on whether or not you're dealing with toxic management or not. Which only reinforces the idea of compensation for interviewing in case someone needs to jump that ship and start interviewing again.
Consider also that: 1-((1-.7)*3) = .97
3 interviews with a 70% chance give you a 97% chance of landing atleast one job. More interviews improve your situation rapidly. Job hunting is better seen as a campaign than individual battles.
But I also think maybe in my estimation you FAANG chances aren't that low as your 2%. They hire tons of people, ALL THE TIME.
What do you think your chances are if you're actually qualified? My made up gut numbers: At least 70% even if you don't practice leetcode. That's the real question here in my mind, what are an otherwise qualified candidates chances? How much does that change with interview skills, prep, leetcode etc.
It is absolutely absurd some of the study plans that people go through where they are trying to study over multiple months. In order to truly memorize all the solutions, most people need these programs. Otherwise, it's just a luck of the draw. I actually got stuck at an interview because I forgot the nlogn solution for two sums. Absurd!
My favorite interview so far involved opening a raw TCP socket to Postgres and sending a query (Actually relevant to the job). I was given the prompt ahead of the interview and spent about 2 hours figuring it out. I learned something valuable and demonstrated an ability to expand my knowledge base. This interview has been the only one even remotely close to demonstrating my abilities to work at the job.
Are you talking about determining a pair of numbers in an array that sum to a given value? That's O(n) and just uses a hashset/hashmap.
This is one of those tricks you just have to memorize and it's very hard to come up with the solution in 30 min.
What a great way to kick off a professional relationship:
"I know this problem is useless and obviously unrepresentative of the actual work we do. So do you (if you aren't incompetent). You also know perfectly well that I've memorized the answer and am only pretending to 'solve' it for you on the spot. And yet, we go along with the charade and pretend it's a vitally necessary, even clever hiring technique. Because hey, we're getting paid big bucks to play this game, after all. So who cares."
Maybe that particular solution is hard to come up with, but you can solve the problem without any "tricks", just basic principles. I'll try to explain which principles I'd use using python.
You can start with the trivial O(N^2) solution:
First principle is runtime analysis. The runtime is O(N^2) because the inner loop is O(N) and runs N times. So we can try to speed up the inner loop. Second principle is to rewrite what the inner loop body as a function of the loop variable b. Third principle is pattern recognition for common functions: the code is equivalent to Fourth principle is to know which data structures support membership query. If you thought of hashtables, you get the O(N) solution. If you thought of sorted list, you get an O(N log N) solution. If you thought of `sortedcontainers.SortedList` (a third-party python package), you get an O(N^4/3) solution (analysis: https://grantjenks.com/docs/sortedcontainers/performance-sca...)Or the interviewer felt insecure and threatened by their competence. If that's the case, they dodged a bullet.
Either way, I hope you've found a good place to share your skills since that experience. Wishing you the best
I literally copied the questions verbatim into a search and found the solution to all 3 all over GitHub in multiple languages. How is this an appropriate evaluation? Certainly a candidate could simply copy the answer in their chosen language, tweak the structure a bit and call it their answer.
I contacted their recruiter and told them I was no longer interested in interviewing. I told them I couldn't take them seriously since all they did to invest in the interview process was to steal questions from other hiring managers.
If a company wants an efficient, honest and quality interview process it needs to go both ways.
So what?
Let's say you know nothing and just copy somebody else's code. Good for you. The next step in the interview process is that you have to do a code walkthrough explaining what you did and why. Do you really think someone can get past this stage with a code they just copied from github?
I can even imagine that someone finds this existing code, and then they copy it, then they improve upon it, and present it as such. If they are open about it, I'd have no problems from the interviewing side. In fact, it could even be better, because the more complex the code is, the easier it is to talk about it (and gather information about the candidate).
For me it's the complete opposite. What I would consider demeaning is to spend 30 hours across two weeks interviewing for just one company while they don't even bother to send more than one interviewer.
I love these take homes with discussions/presentations but companies keep insisting on the zoom coding over google docs route.
I’m used to phone screen —> technical screen -> full day many panel on-site. With maybe a take home thrown in there somewhere around the technical screen.
1 recruiter screen: discussing background with recruiter to make sure your experience is relevant
1-2 phone screens: technical interviews with a SWE to see if it's worthwhile to bring you on site
4-6 on-site interviews: combination of technical and behavior interview sessions
I think product management loops will be similar in terms of length, and so 7 interviews is maybe on the long side but not atypical. PM interviews may include a "take-home project" component before the on-site where you e.g. build a slide deck; this is uncommon for SWE interviews.
Regarding the question "When did a hiring manager lose their authority and the trust of the organization to do their job?", it is very common (and a good idea in my opinion) for interview loops to mostly consist of people who are not on the hiring team. Typically the only future teammate you will see in an interview is the hiring manager (this is not guaranteed; I met my current manager when I started my job). The idea is to have the same bar for all roles at the company instead of inconsistent hiring quality team-by-team.
For one thing, the company is not the only one doing the interviewing; the candidate is also interviewing the company. Before making a commitment to join a team, I think it's valuable to speak to a number of members of that team to get a sense of what they're like.
On the company side, I have also witnessed several people who might have looked alright in just one interview, but when exposed to several it became clear they were adjusting their story significantly for each interviewer to the point of dishonesty.
There is clearly some line beyond which more interviews would present seriously diminished returns, but I think six or seven interviews, each 30-60 minutes, is much more likely to result in a better outcome for a professional engineering position than just one interview with a hiring manager.