Tech is very cargo cultish, which comes from having a young average age, and a strong survivorship bias in the media. Remember the Google brainteasers? Fizzbuzz? "Culture fit"?
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.
All we need is a “3+ interviews considered harmful” post to hit HN a few months in a row and we can finally solve this problem.
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.
Well, it's not only big SV corporates that are doing 5-7 rounds of interviews. In my experience even 3-4 year old startups with under 100 employees do at least 5 rounds - 2 coding, 2 system design and one hiring manager. The most common 6th round is either "culture fit" or "bar-raiser" but small startups usually don't do this.
Quite the opposite actually. At one of the big techs that I was part, they ran some analysis and found that anything more than 4 interviews didn't add any value in assessing the chances of an individual succeeding at the company. I never read the details of the tests they ran but I'm glad they came to that conclusion.
Is FizzBuzz cargo cult? I had my own company in 1995. We tried to hire programmers. The candidate would come in and we'd spend an hour interviewing. 9 out of 10 could not program at all and effectively wasted our time.
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.
> 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.
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.
I had a similar experience in the late 90s. We had people who couldn’t program but represented that they could.
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.
People who complain about software interviews being a high barrier to entry have never dealt with any other high-skilled high-paying profession.
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.
Investment banks might not have been the greatest example here, many of them hire whoever under the auspices that while during incodtrination they work a play portfolio for free and those in the cohort who profit above a certain deviation and who can justify the strategy behind it get hired, the rest don't.
Investment bankers don't manage portfolios. They do paperwork for companies which want to sell stocks and bonds. What you're describing is a trading operation and a crappy one at that.
> I feel bad for people who freeze up and can’t even write a three line program on paper.
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.
that part was because the parent comment was barely understandable.
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.
Not in my opinion no, and I don't mind people asking me simple questions either. There are quite a few people who simply don't understand basic concepts and cannot actually write code. Higher qualifications are usually weakly positively correlated with competence, but there are plenty of outliers and exceptions.
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.
Agreed, a team I worked with added a very short (few minutes) screener quiz because we had about 10-20% of candidates make it past phone screen who struggled to write a simple function.
It pains me so much that we've gone from hiring a couple of supersmart ubernerds over a cool demo and setting them loose to... this.
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.
I think part of the reason is also that tech has matured to the point where it's so complex that nobody can handle it alone or even in a small group. A couple of people (no matter how supersmart) simply could not build and maintain even a single product of a large tech company.
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.
Yep. IMO the largest part of the complexity today is caused by the things you mention in your post: trend-chasing among engineers, especially inexperienced ones, and non-engineers constantly bending the process, trying to make themselves useful and pushing too hard for useless micro-features and nice-to-haves, to the point the architecture of applications is compromised.
Why do people simply assume big tech companies are dumb and they haven't thought their hiring process through?
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).
> 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.
The median time an employee stays there is now under 2 years. Clearly Amazon isn't hiring the calibre of people they need.
> they did hire the correct people, but working there is so unpleasant that very few people decide to stick around.
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 they need people who are immune to how much shit their work environment is, they should fix their work environment instead of selecting those who are fine with Victorian sweatshop-like conditions.
If the problem was a loud office you'd say they should select for deaf engineers instead of fixing their shit.
I agree, but not in the way which I think you mean.
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.
> Why do people simply assume big tech companies are dumb and they haven't thought their hiring process through? Amazon literally has a research team focused in hiring ...
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.
> 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.
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.
How many formats have they tested? For AB testing to work, A and B should be at least distinguishable. Every single tech company has the exact same process. Sometimes even the same questions. And that applies even to any point in the ladder. And to every single role as well. (Only PM interviews are slightly different but in tech companies even they have to go through the same process until that differentiating round)
When people complain about hiring practices, often, but not always, the concern is a false negative - missing out on hiring a talented and qualified candidate.
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
If you can't calculate the optimal design (for hiring, in this case) from first principles, what option do you have but empirical observation? And when steady-state performance takes at least 2 years to obtain, is it unreasonable to have fads at roughly that frequency?
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 believe there is at least a factor of 2* in performance among qualified/not-outright-failing software engineers. If that's the case, anything you can spend less than 100 hours on to increase your chance of hiring someone whose performance at your company will be on the right half of that distribution is worth it.
* I think the actual factor is higher, but I think most people would agree to a factor of 2 without much debate.
There are just different skills, and a balance of different individuals is often the most effective.
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.
I agree they’re rare, but my experience is they almost never make even 2x the norm for their level, so if you’re able to find them, hiring a small team of them is one of the best financial deals you can get as an employer.
This simply isn't true. Some people can coast/hide within big companies, especially non-tech companies, with mediocre or poor skills. Some people can lie; they can be very good at storytelling.
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.
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.
> 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.
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.
I’ve seen way too many people show up after a 12 week “SWE interview bootcamp”, pass interviews, and not know how to read an API doc and write code against it. I’ll take the experienced dev.
That an interesting experience. I've never seen someone that can take a 12 week bootcamp and pass leetcode style questions. Bootcamps teach short term facts, not problem solving or at least that's my experience. I'm not saying leetcode questions are the best (no idea) but in general, someone who can generally answer them has a higher chance of being a productive developer than someone who can't and bootcamp students rarely can in my experience.
Succeed at what though? Yeah most could probably code, but can they all design and run a team? Have they all worked on the same problems, scale, and should be principal engineers? You also interview to level as well as to get them into the door.
I just noticed a research paper called "A Silicon Valley love triangle: Hiring algorithms, pseudo-science, and the quest for auditability" Feb 2022 Mona Sloane,Emanuel Moss,Rumman Chowdhury
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.