Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: When did 7 interviews become “normal”?
711 points by geeky4qwerty on April 2, 2022 | hide | past | favorite | 813 comments
edit: I love this community! Thank you so much for all the insight. For those who complained, I'm sorry if this post comes across as complainy or redundant, I respect the HN hive-mind and was genuinely curious about everyone's thoughts on the matter.

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!




Having been an interviewer at a FAANG for many years, I can explain some of the logic behind it. I'm not saying this logic is valid, but it's how we got here, imho.

First: we no longer trust the hiring manager alone, because probably they aren't a strong developer. We instead trust strong developers that are well trained at evaluating good devs. At the same time, we don't want to thrust a dev onto a hiring manager, so they also need to interview you too and have a say.

Second: Is it really fair to have just one or two developers evaluate you? When I first was an interviewer, I liked everybody! I would have hired them all. So getting multiple data points matters. Best to have at least a couple dev interviews.

Then there's the whole problem of needing to evaluate you on multiple dimensions. Can one interview really tell if you're good problem solving, coding, algorithms/data structures, and any specialization the role has? What about the soft skills aspect? We're going to need to have at least 3 or 4 interviews to cover all these aspects. These roles pay a huge sum of money, so there's a lot of worry that someone will be hired who doesn't really meet the bar, you know?

But now we have a bigger problem: if we're going to invest 4+ people to spend an hour of time with you each, we'd better have some data points that you're worth that investment. So maybe we need one or two initial interviews ahead of time to weed out any obviously unlikely candidates.

After that, it's every other company going "Oh shit, Amazon does 6 interviews? We should do that too!".


I’m a HM at a big tech company with this format as well. Honestly, I really like it. I don’t want to hire the wrong person, it’s expensive and it makes my job awful for a while. It’s great getting data points on several programming interviews, system design, etc. That makes my sell interview so much easier because I can trust the process to assess their technical skills. You need multiple people because you’re constantly training up new people and need to calibrate everyone fairly.

Scaling any process to thousands of people is always hard.

Is it annoying for candidates? Yeah, but we pay you a lot of money, and it does actually work for us. Is it perfect? No, but it does work.

“Hire and Fire fast” doesn’t actually work well if you want to give people a chance to succeed. Also people tend to keep low performers around too long. Best to avoid this as much as possible.


People get PIP’ed and fired routinely that make it through this process. I think there’s a lot of bias in your response. The process worked for you, you work at a large tech company and it gives you validation. It also makes you feel good to lord over the process and boosts your ego, reinforcing your priors.


> People get PIP’ed and fired routinely that make it through this process.

Compared to what? I don’t think anyone is claiming this process is perfect. Just that it’s better than alternatives.

People will always get PIP’d and fired. But the goal is to reduce that as low as possible.


how is it better than alternatives? this seems like a huge straw-man given almost every company that hires developers thinks they’re a large tech company and mimics their hiring process. it doesn’t seem like serious alternatives have been explored.


PIPing and firing is a huge time and emotional energy suck, and it sucks for people on both sides. To reduce the amount it happens is worthy. You can’t in practice just say, “this guy sucks, lets fire him next week”

And it shows, barely anyone in my entire career has ever been fired. I only personally have been close to one.


So you’ve been close to one person getting fired? How do you have an opinion on the PIP process or firing at all if you have next to no experience with it?

I knew a guy at a FAANG who earned himself and his report a PIP for the grave sin of choosing the wrong deputy to send upstairs while he was on vacation. The deputized person went to one meeting and ran his mouth (arguably, told the truth). Both are no longer at the company.

PIP politics are absolutely routine in FAANG and if you’re arguing the other side you don’t know. FAANG is actively trying to fire or replace you at all times. I’ve worked at two so I can’t speak for three, but I’ve also worked for the two in that older acronym that you’d think of as the “nicest”. People read that that and probably hear me saying “giant evil entity is out to get you”, but it’s really middle managers cosplaying Kings Landing in the office, mostly unchecked, that does it.

Seriously; people want to work at a FAANG/MAMAA or whatever so they often assume it’s good. I had someone ask me if I noticed how light my calendar was now that the org considered me irrelevant. There’s an idea that FAANG is a bunch of nerds with glasses cooking up cool shit in a Zen commune with ambient drone music but it’s honestly some of the worst office politics I’ve ever seen across what is now two careers, and the PIP process is a big tool in that kit.


I worked at a FAANG for 3 years and I'm pretty sure no one I worked with was on a PIP. A PIP is extreme. It's sufficient to simply not give people raises, most people can and will easily find another job earning 10% more.


How would you really know? People don't usually talk publicly about their PIP.

I went from long time IC to manager at a faang adjacent company. It was eye opening to see who was on a PIP and go through calibrations.

There were well liked, competent people who others on the team got along with but they just were not delivering at the expected level. Sometimes the problem was lack of motivation or bad role fit.


> but they just were not delivering at the expected level. Sometimes the problem was lack of motivation or bad role fit.

Another i think is when management doesn't understand that someone is, in your wording, a "well liked, competent person", doesn't adequately understand what they bring to the team. Performance reviews, especially of ICs but not exclusively, have a bias towards perceived individual contribution and against teamwork.


Um, this is an antonymous forum, wouldn't you expect many comments from people that were PIPed if it was a very common thing?


Sure, but that doesn't give you any information about your particular company or team. In my experience, how aggressive companies are about "performance management" (using PIPs but this can also include other strategies like layoffs and outright firing) varies quite a lot.


I've worked at a FAANG for almost 5 years. I know probably a dozen or two people who have been PIP'd. I even know one guy who was PIP'd twice and then left when he was given his third PIP.


The smartest person I ever met at Google got PIP'ed, and a few of the engineers from my vintage did as well.


This sounds awful. Disrespectful. Glad I never worked for a FAANG.


Been at one of FAANG for a few years. Never saw this play out. Sounds like something that is more likely to happen on the management side than it is the IC side…


Most ICs are pretty well insulated from this, because if they understood what went on at calibration a lot of good contributors would become pretty bitter.


I had a lot of managers and higher level ICs explain calibration and rage quit (although it was long overdue) after an unfairly low review. There were extreme politics happening at the time that the current ED laid out to me in an exit conversation, and most of it came into play. I should have made way more money off of my contributions than I did but didn't play politics, and honestly, given my role and position could not. I was a resource and not a player:)


Thank goodness ICs never see the top-level calibration with the executives. It's the most insane, ill-informed drive-by management I've ever experienced.


FINALLY someone on this thread that understands politics and freaking understands that human beings are not spherical and frictionless.


> PIPing and firing is a huge time and emotional energy suck, and it sucks

So is the 7 interview gauntlet. But I guess it just shifts the burden on the candidates and externalizes cost.


It also selects for people who will put up with anything, which to a cynical manager might sound like a good employee, except that our job is to replace labor with machines.

People who put up with anything are expensive. They keep billing you hours for tasks that could have been reduced to minutes by someone with a lower tolerance for BS.


I swear some of you have had terrible work experiences. I've been an engineer for the last 20 years. The first time I tried being manager, I sucked and it sucked. (I definitely sucked more because the place sucked but I wasn't great.) That was a decade ago though and I've gradually stepped back into management because I've had great leadership and learned a ton along the way. My primary goal as a manager is to ensure the team is happy and healthy, so that they are able to work effectively. Our hiring process supports this by ensuring we're not hiring dead weight, toxic people or engineers that can't provide value and drag the team down.

Where do you people work because I'd like to (a) avoid it and (b) poach people because your world view sucks and I can only assume that's a direct response to a shit environment.

To put it into perspective, my first 1:1 with everyone on the team includes questions like "what have previous managers done to help you be successful?" Managing people can be difficult but managers shouldn't be.


Or it selects for easy going people with patience, grit or humility, which seem like positive traits. It is true that companies tend to only hire the suckers that complete their full interview process.

My current company ambushed me with a full interview panel, Gilligan's Island style, when a former coworker invited me to come in for a 3 hour tour. I took it in stride and had fun, and it gave me some additional leverage while negotiating compensation. I remember writing an architecture doc and unit tests when they asked me to code something in an hour and a half. I've been there 6 years and it's been most rewarding for me and my family.

My first job out of school was a solid 8 hours of interviews, and I had a lot of fun during that interview too. I got to work on space ships, and in time made a fortune in equity. I remember preparing a presentation slide deck completely in valid C++ syntax. I also remember taking a red-eye after that interview for another 8 hours of interviews at another company, which I also enjoyed despite having only had 4 hours of sleep.

The 2nd company I worked for decided last minute to interview me for two different roles. That was like 11 hours of interviews. I actually ended up taking the 2nd role because it was a significantly better fit. I brought a large cast iron skillet to that interview, which was a nice ice breaker.

It's true that I put up with a lot of frustrating tasks without complaining, but I personally have zero tolerance for BS. It turns out that the more I push back on BS within an organization, the more I tend to get paid, so in that sense I suppose I am expensive!


What's with the skillet?


One of the interview sessions was with an industrial designer. Seemed silly to me as a software engineer but what do I know. Leading up to the interview, they asked me to bring in a photo of something I thought had elegant design. After brian storming for not very long I decided on my skillet, and I thought it would be more fun to bring it along. When they asked for my photo, I pulled it out and plopped it on the table. After the initial WTF moment, we had a lengthy and interesting discussion about the merits of cast iron cook wear. All the subsequent interviews started with, "why is there a cast iron skillet?"

Going through TSA with a cast iron skillet in your carry-on is actually pretty fun because it's impossible for the screener not to giggle. I've also gone through airport security with a 20lb printed circuit board with about 90% copper fill, which surprisingly got less scrutiny.

Having something fun to make your interview memorable seems to go over well. I got selected for an internship because I showed up to the "interview" in a Hawaiian shirt. Apparently every other candidate showed up in a suit. We were meeting at a coffee shop on a college campus, so I just dressed for the environment.


It's probably also selecting for people who are unemployed and therefore much more able to attend the entire gauntlet than those already employed.


I would think the opposite is more likely.If you are employed, there is no pressure. You may go through 12 interviews for a 12 different jobs and be only so slightly offended. For the unemployed, time is most likely ticking, if not financially, at least emotionally. A relative slowness at any step of the process affects the unemployed mindset. Stress alone lowers interview performance, especially on the soft skills side. I would guess that more people in the employed pool make it through.


If you're employed it's more likely you don't have time for 12 interviews because you're working.


You do have time. those interviews are scattered across multiple weeks, if you work place doesn't let you take a couple of hours of working hours away for personal matters, you got to quit even before having a lined up job as you don't want to stay there for far more important reasons than inability to take even 5 interviews


True but being employed goes a long way to giving the perception that you are employable so in the cases that the decision is a toss-up between an unemployed person and an employed one I’d be willing to bet the employed one wins almost every time.


So what its a circle jerk of people putting up with BS, then going through BS again because they did so well the first time?

I mean, maybe their other job isn't doing great, because they clearly have all this time to interview, wonder what is going to happen when they join your company...


exactly my point, well said for me :)


There might not be pressure, but you have to schedule time away from your current job to take interviews.


How would this really be possible while currently employed, kids, real deliverables?


To some extent, perhaps it's analogous to poor vs. rich people buying boots. Someone living paycheck to paycheck can only afford cheap boots, so they wear out quickly. Someone with money to spare can afford the high quality boots, and they last years.

Similarly, someone with a flexible, relatively good job is more easily able to look around and find an even better opportunity.

On the other hand, it takes some courage and risk tolerance to step out from the day to day grind and find something better, even if it could ruffle some feathers. That's not something that comes naturally to most people. Break some eggs to make an omelette.


No kidding! The best people already have jobs and you want to steal them away from somewhere else. 5+ interviews? giant take-home projects or multiple coding assessments? Pass, they're not going to put up with it. "Our 7-interview process ensures we only hire the best" ... of the 10% willing to go through this nonsense.


Well no.

It's expensive for the company too. All of the people involved in the interview process are still getting paid while they are interviewing the candidates. They aren't working on their projects that they have to complete. The company probably has a recruiting or talent acquisition team and the people on that team don't work for free. The company might also work with outside agencies or external recruiters. If you hire one a candidate from one of these sources, you have to pay them too.

It's really expensive in terms of time and money to hire people. It's really hard to build a great team.


> All of the people involved in the interview process are still getting paid

Except the interviewee.


There's often a signing bonus. If there's a 10% chance of getting the job and a $50k signing bonus is common, then your EV is $5000 per interview.

Even if there weren't, then 10% of the extra compensation vs. an easier-to-hire company with your discount horizon applied would also count as payment.


> $50k signing bonus is common

I clearly live in a different labour market to this conversation. How many places in the world is this common?


If you’re 10% likely to get a job with a 50k signing bonus and you’re doing 7 interviews for that job your expected value is $715 per interview.


If you do it right, candidates can leave with a positive impression even after being rejected. I've maintained correspondence with a few candidates over the years because they felt like they learned a thing or two about engineering during the course of the interview, and they wanted some additional mentorship.


The interviewee is usually interviewing on their current company's dime. It's even easier now with many folks working from home, you don't even need an excuse.


Yes it’s an expense but you’re not doing it out of charity it’s for the benefit of the company and so it is also a part of the job.


In my experience, it seems to take a company about 1-1.5 years to fire someone that's well intended but ineffective in their role. 15 or so "wasted" person-hours up front is well worth avoiding thousands of wasted person-hours, especially considering maybe 1 in 5 candidates that make it to a full interview are a good fit.


15 extra hours * N candidates per opening * M people onboarded per additional marginal employee discovered.

Picking numbers from a hat say 15 * 7 * 20 = 2,100 unproductive hours to avoid a subpar employee that still actually gets something done in the ~3,000 hours before being fired. That could easily be a net loss depending on how much onboarding time is needed and how unproductive they are on average.

Honestly, I think those numbers may be overly generous to long onboarding processes.


I am still fixing up the code of a developer from five years ago who was there for two years prior to me. He had ideas about how things should work and completely disagreed with the conventions of every framework.

And so, every time I go in a section of code to fix a bug or adjust a feature and I see his name in git blame... I spend another few hours to make sure that I'm not breaking some of the twisted framework code that he had and possibly fix it up a bit and adding a unit test for the functionality before I touch anything to assure myself that I know what it is doing.

An unproductive poor employee is bad... a productive bad employee is where the real problems are for years and years to follow.


The question is how likely a longer interview process with avoid such employees not that they have a cost.

In your case code reviews could have caught the issue early before it became such a problem. Though obviously they also have a cost.


I don't think a longer interview process is strictly necessary to avoid hiring unqualified people. Rather, a longer interview process helps to hire more people while maintaining high standards. Individual interview sessions go poorly all the time for silly reasons. If a candidate only had one interview session and botched it, they're probably done. If they had several sessions and botched one but showed excellence in another, they would still have a good chance of getting an offer.


shrug hiring the wrong person into an engineering role is incredibly expensive and painful for organizations with a long term outlook. It cancels out the productivity of at least one good engineer, and stresses out at least 3 people.

I've been a hiring manager before, and hiring good people is a huge time investment. The reality is that something like 99% of applicants aren't qualified, and the majority seemingly lack enough self-awareness to know it. The really good people also tend to be bad at marketing themselves. I don't think of interviews as a waste of time, though, even when it's a no-hire.


> 2,100 unproductive hours to avoid a subpar employee

You also need to factor in the odds of this whole process working.

There’s not a whole lot of empirical research that measures the correlation between the interview process and employee performance.

And of course, employee performance measurement is as dubiously effective as ever.


There is a lot of empirical research, but it’s internal to companies.

I know multiple FAANG companies that track this data.


"it seems to take a company about 1-1.5 years to fire someone"

Well maybe thats the actual problem the company should be fixing?


If someone is working hard and trying to make it work, the rest of the team is going to try and make it work too. A seemingly good rule of thumb is to start seriously considering firing someone the moment the thought enters your head. Typically by the time you're having those thoughts, the situation is likely irredeemable. In a generally positive work environment, folk aren't typically thinking about firing each other, and so it can take a while.


How do we know this isn’t blind faith and the numbers are “made up”?

Other than fiat wealth generation, what gains are there to treating each other like this?


I'm not sure what you mean? Are you suggesting that companies shouldn't avoid hiring unqualified people that generate less value than their cost on average?


Research into who brings value, what technologies improve efficiency, has been inconclusive. The models end up with so many variables the conclusions are meaningless; any one parameter is insufficient, all the parameters needed mean no one parameter is greater than another. How can a value assessment being useful given all the required context that also has to exist? Is it a measure of value or traditional human bias?

Humans are prone to group think, belief in words of power, sigils; why believe in unfalsifiable value assessment when it comes down to tried and true ownership?

If traditional politics win at the end of the day why the belief this matrix of value isn’t just another cognitive boondoggle?


I think there's a bit of a misunderstanding in what interviewers are testing for. Interviewers at most companies aren't trying to evaluate or quantify a candidate's inherent value or general technical prowess. They're trying to determine whether or not the candidate can help solve immediate and real problems that the company has, while also trying to get a sense of whether the candidate has the potential to grow with the company long term.

There's very little science in interviewing, and it is indeed heavily based on heuristics. The whole point of lots of interviews is to reduce bias. Unfortunately, it's possible for candidates to mistakenly think an interview went poorly because they didn't get the answer right away, when from the interviewer's point of view it was one of the best answers they've heard because of the process by which the candidate arrived on the answer.

A popular metric for whether a candidate is likely to be able to solve practical problems is whether or not they've shipped products before. A lot of people pad out their resume with collective achievements, though, and so it's something that needs to be dug into. It's unfortunately not uncommon for folk to not understand the stuff on their own resume.


There is no misunderstanding on my part.

I never consented to this culture. I see little different here than a church, meat based tape recorders thinking the noises they emit are “the way” with little proof except “feudal capitalism” continues to “work”.

We don’t owe deference and agency to CEOs, VCs, and founders. The syntax is different but the LARP of being sheep for “wise men” is the same.

Only 13% of the country has an advanced degree (mine is MSc in math earned in the 90s; I’m old) and knowledge is not locked away in those heads. Education does not make people infallible and omniscient.

This is a result of traditional political memes; owners rule, everyone else drools. The filtering and sorting inside that cognitive bubble is just the proles making proles dance like jesters. No scientific theory makes this the one true way of organizing effort.

Memorizing semantics is not proof they’re correct. If GME can be shorted to the extent it is despite that being illegal, our institutions are built on deference to BS, since that system is the bedrock used to prop up tech VCs.


"If GME can be shorted to the extent it is despite that being illegal"

Shorting is only illegal if it's naked. When I ask people who say this what they mean, the answer is usually that the shorting must be naked because so many shares are being shorted. But that isn't how that works. If you have other evidence though, I'd certainly be interested.

https://www.fool.com/investing/2021/01/28/yes-a-stock-can-ha...


Here’s my investment advice; go back to the late 90s, load up on tech, use the gains to dabble in btc, use those gains to retire by 40.

Worked for me.

I know how the boring numbers game works and optimized for it. I’m being honest instead of equivocating in Anglo-babble reasons why a process is an acceptable measure for filtering some people. To see poetry in this is a bit weird. It’s the same old fundamental arithmetic operations applied to different geometry. Pretty routine for us been there done that’s.


You seem extremely jaded, and the way you speak about religion is rather boorish in my opinion.

I enjoy living in and participating in a society. Thanks to the productivity gains of specialization and free trade, technology has been developed to the point that I spend my days designing embedded software to fly autonomous aircraft. Those aircraft deliver medical supplies, primarily in developing countries with poor road infrastructure. At least a few people a week don't die specifically because a UAV I helped make was able to deliver them a blood transfusion. The company is for-profit, and in exchange for my work I am compensated in salary and in equity. The better the company does, the more people have access to life saving medical care, and the more money I personally make. The UAV system also requires people to operate them, and so the company employs hundreds of people in those developing countries. One of the earliest and most tenacious in-country employees quit a couple years ago because they got accepted to a robotics program at Stanford.

The last employee I personally managed the hiring of only had a couple years of community college experience and self-proclaimed ADHD. Despite my intent for them to only spend 6 hours or so on the interview process, they spent probably 16 hours because they found the interview process itself personally rewarding.

The company CEO drives a crappier car than everyone else at the office. By coincidence, I had a serious problem last week that required intervention, and I quite literally made the CEO dance like a jester for me in order to make a point. There was no scientific theory involved.

I'm right there with you regarding the corruption of most financial and government institutions. I don't think it's as black and white as "capitalism bad", though.


I’m dubious that companies can accurately measure ability or performance, either in the interview process or on the job.


Have you ever been in a job or taken a class with other people and not been able to see the different between the more competent and more incompetent people?


Yes, but I only see facets of their performance. And I’m only interested in specific areas, and might be blind to other talents or issues. They might be the brightest bulb in the training class, but spend all their day reading hacker news and creating memes.

It’s very difficult to quantify individual performance, and even harder to put a dollar figure on it.


Re: experience and working hard vs. working on what the project needs, that's definitely a trait of more seasoned engineers. I'd say it's a matter of learning strategy over tactics. I've gotten pretty good at that balance over the years. When I came into my current project I focused on aspects of the software that had been sorely neglected before me, and plenty of folk where skeptical for the first year or so. Now in hindsight the results speak for themselves, and it's apparently become a story of legend that my coworkers tell new hires.

Last week I had fully intended to spend at least 20 hours heads down coding, but instead I spent the entire work week writing and updating an architecture document. It was the best use of my time, though, as it allowed two other people to be heads down coding instead. Now this week it's three of us frantically writing code instead of just me, and we all know the final result will work and be boring. We're replacing a 7 year old piece of critical infrastructure.


This is one of those things I stupidly thought I understood when I was a Jr. Engineer, and now understand quite a bit differently after decades have gone by.

The more competent people weren’t necessarily the ones getting more things done, or the most visible, but were those engineers who understood the long term implications of what they were building, how it related to the business, and their relationship to other teams and customers. It’s trivial to be a good “performer” toiling away on a feature or system that shouldn’t exist. It’s exponentially harder to have the awareness to identify where the real problems are, and make sure you’re investing effort where it actually needs to go.


Indeed. Experienced interviewers can size up a candidate in the first 10 minutes and fairly accurately predict how their debrief will go. The rest of the interviews are just building up confidence, and making sure there's enough redundancy to tolerate the occasional bungle or accidental awkwardness. Folk get hired all the time despite getting imperfect interviewer feedback. I've had interviews where the first 45 minutes were painful but then the candidate blew me away in the last 15 minutes.


Perhaps, but PIPing and firing is bad for the employee, bad for the manager, and bad for the PIP'd employees teammates. PIPs don't happen immediately; it might take a month or two before it's clear to a manager that a new employee isn't performing to the expected level.

So I think I'd rather have a candidate spend 7 hours interviewing if it could save months of pain for multiple people later.

(This does assume, of course, that the 7-person interview panel actually does decrease the incidence of hiring-the-wrong-person enough to be worthwhile. I don't know if that's actually the case.)

Out of all the things I think are wrong with tech jobs -- and with employment in general -- I don't think "I have to interview with 7 people instead of 1 or 2" even cracks the top 50.


Cost externalization is the entire basis of businesses/corporations these days it seems.

Maybe it was always that way though


I think it has gotten better in some areas. Sales processes used to be brutal for buyers. Pricing today is more transparent in general.


Compared to PIPing and firing? Interviewing is probably way, way less of a time and emotional energy suck.

Granted, I've only ever taken and given interviews, never given (or, fortunately, been under) a PIP or firing. But interviewing is just a few weeks or so of preparation and then a day or two, and the preparation is often fun, and so are some of the interviews. Nobody thinks PIPs and firings are fun.


Speaking as a senior dev who has interviewed dozens (if not hundreds) of candidates, I assure you that the bulk of the burden is firmly on the interviewers, not the candidates.


It doesn’t externalize costs at all. We’re talking easily 20 developer hours per candidate. That’s real money.


> To reduce the amount it happens is worthy

The point is that there is little, if any, evidence that a given interview process does this.


I've worked and interviewed at dozens of companies and literally never experienced a company that had more than 2 interviews plus a discussion with a hiring manager or HR.

I make half-ish of a FAANG salary, but it's enough to comfortably support a family and I'm generally pretty happy and get to work on cool stuff. The only challenge I never get at work are problems that have huge scale components.


Interesting, I’ve interviewed at all of the FAANGs other than Netflix, plus maybe 10 or so much smaller companies. In general the smaller companies all seemed to want to emulate the FAANG hiring process with 4-6 rounds of interviews with engineers after an initial phone screen. I think only 1 or 2 of them limited their interview to just 2 rounds.


I've been approached by a couple of FAANG and told them to stuff it because of the recruitment processes. I'm in London, and here at least they're extreme outliers.

If you're early in your career, they probably matter and it might be worth it, but for me it's not.

Maybe it'd be different in Silicon Valley, but in London they just aren't willing to offer enough over and above the kind of jobs I've had elsewhere to be worth the misery (with the big caveat that I'm at the high end of non-FAANG London market rates; for someone who is not, FAANG may be worth it here too)


You're being kind. "Extreme" doesn't describe it from my experience. For me it was 1 phone call/online meeting and 2 face 2 face. That is about it in terms of interviews. And that is a Fortune Global 500 company that I'm still working for. I was put on a 6 months contract and after 3 they switched to perm.

Other interviews back then and more recent were pretty much the same. Max. 3 x 1h-ish meetings. I do have a bad habit of asking the interviewer to sell me the job on the first face 2 face meeting though. This does offend some of them and we drop it there. No point beating around the bush and wasting time if they think the interview is a one way street.


The part about expecting them to sell the job is a good point, and important. Don't think that's a bad habit at all.

I also tend to make it clear from the outset I will not come cheap, in a "are you sure you can afford me?" kind of way. Not mentioning specifics, but making it clear I know my market value and won't consider low offers.

Some get very taken back, but it sets a tone. I think you're absolutely right you need to make sure they know it's two way, and to give a clear impression they're chasing someone high value, and that they're not the prize, you are.

But if their pitch is all about "changing the world" but they're not willing to share the upside, I know I'm wasting my time, so I want to make sure they know that I expect my share too, not just fuzzy feelings.

E.g. I a while back came across a company that was very proud of how rapidly they were growing, but somehow thought that mattered to me when they were not willing to offer any shares or options. I was meant to be excited about making other people rich...

I pointed out to them I've not once taken a job on terms like that in the last 25 years and called off the process after the first interview. I also explained to the recruiter just how far off market they were for someone at my experience level.

If that had happened after 5-6 interviews I'd have been incensed...

FAANG recruiters in particular also seem to get confused when I insist on getting an indication of salary range and option/rsu amounts before being willing to agree to an interview. Several times I've had recruiters come back to me days later after digging up the information, as their first line seem to not even know, just expecting people to be all excited they're even calling. For my part I'm shocked more people aren't having that conversation. But that does explain leaked info some time back about how Facebook is dealing with high rejection rates once they actually give offers.


Almost every alternative you can imagine has been tried. Lots of interviews, few interviews, take home projects, pair programming, hire fast fire fast, trial periods and on and on and on.


Hire fast fire fast is by far the best one, should you really need it. A 20 minute technical conversation and then firing within 2-3 weeks if they do not seem self-directed has worked in my experience.

If you can't get someone up to speed with your internal processes fast enough to at least gauge if they're following along that indicates an internal problem.

The problem is, I think, that HR does not want technical staff to see the hires for (probably made up) legal reasons. So the decision is mostly made by people who can't actually gauge competency.


How do you handle the obvious problems of churn and reviews at places like Glassdoor? I can just see it now:

"Interview was weak. They don't know what they're doing."

"Aced the interview. Fired after two weeks. Leadership doesn't know how to hire or manage."

"Never seen a place with so much churn. In the last six months, I've seen at least half a dozen engineers exit after two or three weeks."

Know what raises the level of difficulty for finding candidates? Shit reviews about the company. You can have the best tech but if you have a toxic smell, you can't hire. To the outside, perception is reality and reviews are how you get that perception. You can't do the opposite though and say "J Smith passed interview but we let them go after two weeks because they couldn't do more than pseudo code on a whiteboard." and even if you could, you'd look like a shit company and you'd still have an impossible time hiring but for other reasons.

This idea of quick hire/fire is so bad that all you have to do it go one or two steps further to find the obvious problems. But hey, start a company and use that model. See how it goes. Prove us all wrong.


Low performing folks are ubiquitous and them being let go sounds good to me, would put a plus in their column if I read that.


Yes but the damage that they’ll due to your reputation online will make you have to pay more for better talent. They are going to read the glass door and see your company environment as shit and say “I want an extra 20 grand”

Not to mention the amount of technical debt high turnover causes for tech companies


Not that many people actually get fired in a hire fast fire fast workplace. The whole point of hiring this way is allowing yourself to not overprepare in an aversion to hiring poor talent. When you get a poor performer, you just let them go, but the average is not that bad, and you end up filling your billets faster where another company may not at all.

The opposite is 7 interviews and shedding most of your applicants for trivial reasons. Most businesses can't support that, too much work would go undone and they would stop being competitive.


No question the interview process is akin to testing a marathon runner by their 100m dash time.

I was just talking about to implications of poor company chemistry which stems from lack of trust and job insecurity.

I think the best way to evaluate a person is just to talk to them about their experience and why they do what they do. Passion is a critical indicator


Indeed. I remember interviewing for several positions and could have done them with one hand behind my back. A ~year later they were still trying to fill the position but hadn't.


> Hire fast fire fast is by far the best one, should you really need it.

I can only say that: Oh my gosh do I not want to work for a company that "hires fast and fires fast". For many different reasons.


Working is one thing. What about when you need to get hired and don't have six months to waste? If it weren't for finding a quick place to give me a chance I'd be unemployed.


Fired after 2 weeks if they don't seem self directed? I have been at one place where I didn't even have my laptop in the first two weeks and multiple places where I did not have access to the codebase yet.

Most people except for a few outliers will be fumbling around the first month while they learn the code and the company.


this is rather terrible for people who leave a job to come work for you. Hire fast fire fast only really benefits the employer -and only if they successfully manage to pick up on toxic people that fast. It can take months for someones true colours to show and then in many countries you are past the point you can "fire fast".


All of these are used in the wild at various companies. Maybe these companies are entirely staffed by subpar engineers, but FAANG style whiteboarding is extremely gameable, especially if you know someone in the inside already, but even if you don't and leetcode enough.


I personally suck at pairing interviews but I still think they're some of the most relevant & illuminating- if the problem is easy and you're looking for how the candidate works and communicates.


How exactly do you reduce that number when it’s a fixed quantity at FAANG, big tech with their stack ranking, managing out and OKR’s that requires to put a certain number of people as “under performs”?

The entire system makes absolutely no sense, precisely when looking at the numbers. You could do anything you wanted during the interview and that still won’t change the outcome that the same number of people will still be fired at the end of the day.


My company has a phone interview with a developer to ask some technical questions and then whoever passes that is invited in for a single in-person interview with a developer and our supervisor. It has worked for us - every developer we've hired this way has done their job well and stuck around for a long time.

We make an effort to take up as little of the candidate's time as possible.


Umm how is this normal when you have stack ranking (sorry curve fitting) to identify the yo-be-fired?


How does me being okay with a smaller role in the overall hiring process equate to me wanting to lord over people? I’m a hiring manager, it’s literally my job to pick people to hire. I’d rather have the opinions of my colleagues in addition to my own.

My response was in good faith, and yours is not.


I think mylons had the perception that you were a senior engineer conducting technical interviews as opposed to a hiring manager.

Having had a fair bit of experience interviewing on the technical side, I've observed a huge variance in quality of interviewer. Sometimes you get someone who values communication, creative problem solving and asking good questions. Sometimes you get a whiz kid who gets off on playing gatekeeper and judging people as below their superior intellect.

Even a single person in the chain who falls into that latter group can completely derail a potential hire, leading to an overabundance of false negatives, IMO.


Let me add my experience. I've never had the FKANG experience but for a number of startups that I've contracted for I've had a chance to observe if not participate in the hiring process.

They were US startups and they've all tried to emulate what I think of as the FAANK process: so you have an initial call, a technical screen a couple of other rounds of technical screens, that maybe include system design, and fit/behavioral with people you might be working with. In practice the people who got hired endured 5 to 7 interviews.

It's interesting to see the statements here saying that the reason for the large number of interviews is to assess the candidate from a number of dimensions and perspectives. What I observed was that was not how it really worked.

My position as an outside contractor, as well as someone who loves chatting with people, made me sort of the ideal confessional for the engineers who directly participated in the hiring process.

The main dynamic that drives having such a high number of interviews is that the hiring process is less about assessing the candidate (beyond a certain point) and more about allowing to play out the implicit political power and conflicts of the people who are judging the candidate.

For example in the first startup we had this engineer who was identified by the CTO and co-founder (who formally stepped down as CEO) as being a good potential hire, and they excelled in the technical aspects of the interview but they received meh votes from one of the engineers who was lead on a significant project and had a bit of clout, at 3rd interview, and were subsequently rejected, after 7th interview.

So basically the feeling of the staff that I talked to was the reason there existed four more interviews after the consensus was to hire, was to allow the political player to promulgate their preferences and manufacture consent with the motion to reject. So through a careful orchestration of four additional interviews closely managed by the political player who asked doubt-casting questions in each debrief this lead was able to cultivate doubt where formally there had been consensus (besides his sole dissent -- he wouldn't have been working with a person anyway, heh :)). So basically it would have been intolerable for this politically clouted lead person to have "lost" to those other staff with less clout by having their preference denied. I felt really sorry for the candidate but I heard that when they got the 7th interview rejection that already accepted an offer at a FAANG, go figure. Heh :)

Observed a similar dynamic play out in another hiring process at a different startup. That stage we had the director of engineering identify candidate that was a good hire. And basically softly railroad them through the process which didn't prove difficult as everyone was mostly on board and the team was really desperate for high quality technical talent with the right skills and this person had that.

So what was interesting to observe was that the other candidates in the pipeline at that time were still taken through interviews even though this person was basically from the initial screen stage already being moved to be hired internally, and all of the other interviews were basically friendly get to know you sessions with super lightweight technical questions and a lot of I suppose you could call it confirmation bias but it's really just you know people being nice to someone they want to work with.

But all of these other poor candidates in the pipeline were still put through all these interviews with the idea that you know there was still a role out there for them being told the same things they would have been told were they you know actually under contention. Or maybe that was because we didn't know if the candidate was going to accept or not but they seemed pretty keen and the thing is I'm almost 100% sure the team wouldn't have hired any of the other candidates in the pipeline anyway.

But again I observe the dynamic where the debrief interviews about these non-starter candidates were basically role-playing games for politics in the organization where people projected their preferences into little power games against their colleagues to try to have their own preferences be the ones that win. Decidedly wasn't about those candidates at all because they had not even had any chance of being in the process. The only point of the subsequent interviews of all those non-starter candidates was to act as an arena for the staff to role play their sort of political status conflict games with each other but this was never exposed or stated it was just this sort of implicit thing.

So given that experience I wonder how much that is a dynamic driving these lengthy and in a lot of cases unnecessary interview processes across all of the tech hiring and organizations that are utilizing this type of process these days.

I don't think it could apply everywhere I think there's probably places like Amazon where they are really doing something different. And like I said I don't have any of the data from the ZFAMG stuff.

But I'm reminded of something Peter thiel said which is you know in academia the battles are so fierce because the stakes are so small. But another side of that is everything so secure there and that's why the stakes are so small. Same thing is true in tech I mean once you score one of those 150k plus contracts and you're doing something that you basically love doing it is a great ride and everything really is so secure so how do people take out their natural ape brain competitive urges in that environment? I think as another commenter said, where can people project their risk-focused paranoia in such a low risk environment? and it's onto personnel.

So I think there's definitely the case to be made for maladaptive pathological psychological underpinning of these lengthy hiring processes as much as there is a case to be made for how they could be useful at getting data from from a bunch of candidates.

Personally I think the best types of hiring interviews are some sort of pair programming work emulation. The problem with that is in my experience companies are generally very terrified to open up their internal code base to the eyes of outsiders because they're basically scared that oh my God people are going to steal our code.

But it's always the case where after someone's hired and you start working with them that's something you end up doing and that's where you really get a sense you know if can I trust this person to deliver and do they match what people are being saying about them from the interviews.

So I just think those sort of work emulation tasks you where you're pair programming or talking through something with someone it really has more of a place than it seems to have been given so far in most of the places that I've seen and heard about.


this is the in-depth reply that illustrates my flippant comment. there can be an inherent competitiveness in white-boarding interviews. the interviewer can implicitly want to show their superiority over the candidate. i think that's the core reason behind a lot of overly difficult problems being offered that have no analogous presence in the day to day work. how many times have you written a graph traversal algorithm on the job? or implemented a geofence in 45 minutes, from scratch, without a search engine?

i whole heartedly agree on the pair programming approach being practical and yielding good results. i think you can skip exposing the candidate to the internal codebase, and replicate an internal problem in a more generic and high level way.


>>> there can be an inherent competitiveness in white-boarding interviews. the interviewer can implicitly want to show their superiority over the candidate

This can be present even in non-FAANG interviews. Early in my career, I had an interview at a financial company and for a question about how do you style html pages, my answer was CSS and the interviewer expected something about ASP.NET webstyles. He was't ready to accept my answer saying you are a dotnet dev and should use ASP.NET functionality since it was more superior rather than CSS. I was like CSS is a web standard and anyone even designers can modify CSS.

So yeah, it depends on the maturity of the interviewer.


right — it’s certainly not FAANG specific but seems to arise from these styles of interviews. maybe it’s lack of interviewing training or standards? i think the standard now is, “pick your favorite hard problem and have a candidate do it on the whiteboard.” which presents this opportunity for an interview lacking compassion.


agree, now let's you and me apply to YC with our disruptive, upending-the-traditional-inefficiencies in tech hiring startup idea. Ho ho ho! :)


haha — my email is in my profile page if you really want to talk about it. i have interjected at previous companies where it was possible to influence the process a little bit. my biggest question would be “how could you do it differently than triplebyte when they first start?” they started by interviewing people themselves which is hard to scale.


YMMV, but it's actually quite difficult to get a PIP in many tech companies, and it's rarely if ever for lack of tech skills. The ones I've seen usually involve either motivation, output, or both plummeting to zero for extended periods of time due to burnout or a similar extended personal crisis.


From what I’ve seen it’s almost always as you describe or something political like a manager taking over a group and wanting to make room for their friends. But if employees are burning out and then being PIPed instead of getting support I think that is a rather sad indictment of our industry in an of itself.


>if employees are burning out and then being PIPed instead of getting support I think that is a rather sad indictment of our industry in an of itself

The thing is most big companies don't care about your burn-out or personal situation, they either have product launch deadlines to meet, or revenue targets or customers to please, and people in the trenches are considered replaceable so churn is something they account for in order to meet those commitments.

If you're lucky you might have an understanding manager, but he himself may have targets to reach for his bonus or promotion, and if you're dragging his team down and his bonus promotion with it, then ... it's nothing personal, it's just business, you will be let go.

I worked for a major European semi company and the churn there is insane, either they fire people or people leave by themselves within the first 2 years. All because managers are given near impossible targets, along with great bonuses and stock packages to incentivize them to use whatever means necessary to deliver on those targets, usually at the expense of people in the trenches which are treated as expendable commodities.


Your manager might also have a specific target for “unregretted attrition”, i.e. getting rid of people using the PIP process. If there is not a clear person who is the weakest link, then the manager will pick their least favorite. And remember, performance is very subjective.

I have seen a couple of people get fired for cause; that was always clear. I’ve never seen an unambiguous PIP.


As far as I know only Amazon has targets for “unregretted attrition.”


I heard Microsoft did this for a long time as we. It’s my under it changed though since Nadella


Presumably, any Jack Welch-esque stack rank shop is going to have URA targets.


> YMMV, but it's actually quite difficult to get a PIP in many tech companies

Generally, the more the company practices “hire fast, fire fast” the easier and more common it will be to PIP people.

The companies with 4+ stage interviews and entire departments devoted to recruiting and candidate evaluation tend to not have as many PIPs because they’ve studied their interviewing processes and prevented most of the underperformers from getting hired in the first place.

The most quick-to-fire company I ever worked for had barely a 1-hour interview process. They’d hire anyone who seemed remotely qualified and then they’d fire everyone who didn’t work out. It was terrible and now I’m actually suspicious of companies that don’t do much technical screening for applicants.


How do extended interviews root out people that are going to later go through some kind of major personal issue or have burnout or have a lack of motivation?

Lack of motivation and burnout maybe could be somewhat sussed out in an interview if it was obvious, but the people that I've been around that's happened to (and myself at one point in my career) were completely fine, but I'm skeptical of any interviewer that says they can reliably fish that out.


They don't/can't, which is why you still see both at any company, no matter how it interviews.


I think this is highly dependent on your company. People talk about FANG/SiValley companies like they're all the same but that is completely untrue. There are orders of magnitude difference in culture between companies and even within companies. I guess when you're on the outside looking in it all seems the same. It also changes depending on how the business is doing. I suspect, for instance, things are about to seriously go downhill at Netflix. That may cause the culture to become even more cutthroat.


> it's rarely if ever for lack of tech skills.

isn't output related with lack of tech skills?


To a point, but it's rarely the inability to code that is leading to lack of output. Output often means "did sufficient work that was seen, by management, as impactful enough". This has more to do with communication and task choice than anything. This is not really a skill that we even really attempt to measure in interview.

In my experience in high performing tech companies, I've seen about 40 PIPs. There are 'utter tech incompetence' PIPs in the world, but as far as I've seen, they are far less popular than 'thoroughly uninterested in working' PIPs, 'disliked by new manager' PIPs and 'person has a work unrelated crisis' PIPs. Those tech related PIPs will normally have all the symptoms already in the first review cycle. If someone made it to their 2nd year in the company, tech incompetence is not really the issue. It's just unfortunate that nobody provides stats for this kind of thing, so we don't have to just rely on "you have seen" vs "I have seen" arguments.


> This has more to do with communication and task choice than anything.

In some cases, task assignment instead of task choice. Sometimes by unluck of the draw, you just get assigned to a shit project with no visibility. You could be Einstein, write entirely bug-free code, and you’re not going to get rewarded for the work.

I’ve seen really mediocre people brown-nose and schmooze themselves onto a rocket ship project that takes off despite their mediocrity, and they get promoted to the moon. That’s how some VP’s and Directors are made. Meanwhile, a literal genius languishes away improving the performance of InvisibleInternalTool by 500%.

The older I get the more I realize how much corporate tech performance evaluation has to do with politics and bullshitting and “being highly visible” and how little it has to do with performance.


Not if output was satisfactory before and then drops


not really, plenty of talented lazy people out there


I don’t think that’s routine. While I know it happens, certainly I’ve personally never worked with someone who this has happened to.

There will always be burning mistakes, or people who lie or are otherwise hard to predict will be a disaster. What else would you propose?


making the interview process similar to the job is a good first step. when I worked at Invitae this was my proudest achievement from my time there. I suggested that we change the interview process to a paired programming session that were situations from our day to day work. the candidate brought in their own laptop or was provided one (their choice). the session was 90-120 minutes and didn’t involve leetcode hard problems, just practical day to day stuff a web developer might run into on the job.


I think this would be the most fair to the candidates, especially ones with prior experience who don’t want to spend time on useless leetcode questions that have zero to do with the job itself. I can’t help but feel this is just gate keeping.


The problem with this is that many jobs require weeks worth of on ramping into internal systems, code bases, etc, not to mention many aspects of the job would be working on otherwise secretive stuff. I don’t think this would work at a FAANG, and many bigger companies.


of course — so you have to make it accessible to the candidate. using the internal code base is probably not the best choice. we had them write up a small API with specific requirements in the tech of their choice, and tried to have someone programming with them familiar with their choice of tech.


I doubt many engineers "lord over the process" - it's seen more as something you volunteer your time for for the good of the company.


What is PIP?


"(Personal|Professional|Performance) Improvement Plan". It's the first formal stage in the firing process at most companies with HR depts, which would almost certainly include any publicly-listed company.

If you're at the PIP stage, it generally means your boss and your superboss have decided that it's time for you to go, but for legal purposes, they need to look like they tried to give you a chance, so they work with HR to craft specific-but-typically-unattainable goals which would theoretically allow you to save your job if you hit them all. But with boss+superboss already wanting you gone, the likelihood that they'll agree you've hit an improvement goal that's usually a thinly-veiled form of "stop me from hating you anymore, lol" is pretty low.

If you get a PIP, in nearly 100% of cases, you should just take it as notice that your employment is going to end at the specified review date in the PIP. It's not usually worth trying to hit the goals. Focus on interviewing.

That said, I once managed an individual who had survived 4 PIPs by the time he reported to me. I heard that he was eventually fired about 2 years after I left, but not sure if it was his 6th or 7th PIP. He was a particular discrimination liability at a company that was very sensitive to that type of thing.


I once was told by an HR person at a prior job, who almost certainly shouldn't have said it, regarding my PIP (I had extremely pathological sleep outcomes sometimes, unpredictably, but my boss and boss's boss etc loved my work), "It's really neat to see - usually when we get people on PIPs, it's because their bosses want them gone, but your boss really really wants to keep you. "

It rather stuck in my mind.

(I also did not, ultimately, end up exiting the company as a result of the PIP, just for completeness given the context of the thread.)


It might be true where you are, but that's not strictly correct everywhere. Here in Australia, if a company wanted to fire an employee, the employee has a chance to sue on an "unfair dismissal" grounds. One of the ways a company can protect against allegations of unfair dismissals is to demonstrate that a) there are genuine performance issues, and b) the company has made good-faith efforts to improve the employee's performance, and that's where the PIP cones in.

This means if an employee here were put on a PIP, it's usually (but not always) the first step towards them being fired.


PIPs are not exclusively foregone conclusion/CYA before firing. I've personally been on a PIP while in the "red zone" before an expected promotion, and came out the other side with an "exceeds" rating and said promotion during the next cycle. Sometimes, it's legitimately just a formal way of stating "this is what we expect from you if you want to stay here"; if you can meet those expectations, then great!


Are you sure that was a PIP? That’s really not what a PIP is used for.


The cover sheet has the words "Performance Improvement Plan", with key goals to achieve in a 30 day period, with the final page to be signed by me and my manager.

https://cdn.n7.gg/pip/pip-1.png

https://cdn.n7.gg/pip/pip-2.png

Not every company is awful.


I wonder what these performance expectations are.


Basically boiled down to:

1) build a plan and make meaningful progress on a high impact, but stalled, project

2) communicate about progress and/or roadblocks to the team, and ask for help where needed to get past said roadblocks

3) be more proactive about finding and proposing high impact work, or areas where others could bring their expertise to help benefit my work or get it done faster

Details are confidential, of course.


In your exp


> it generally means your boss and your superboss have decided that it's time for you to go

The problem is that those are two highly correlated data points. Toxic bosses are eventually found but at that point they leave a track of dead bodies.

What I have seen sometimes is moving around disgruntled employees. It has its own problems but a lot of the times they are recovered and even become very productive again.


> The problem is that those are two highly correlated data points. Toxic bosses are eventually found but at that point they leave a track of dead bodies.

Agree, and this is often overlooked. There's a handful of people I used to admire whose tendency to readily believe whatever's being sold by their middling middle management chain has left me deeply disappointed.

Middle management is a necessary evil, but there's little hope if upper management fails to recognize and subvert its inherent incentive structure.


At the company I work for PiPs _usually_ lead to issues being solved. There are several developers I've worked with on PiPs (we do specific mentoring and follow ups on the areas of concern) that were able to improve and are now doing great. It isn't always a terrible thing, certainly not comfortable for the person on the PiP but it can be a positive thing in the long run!


Good on your company; PIP should focus on shoring up skill gaps or finding better role fit or invinting someone to take unpaid LOA to work through whatever life challenge they have.

BUT, I’ve only ever seen the “unattainable goal” type.


That rules


I was wondering the same thing! After a bit of searching, my best guess is "Performance Improvement Plan".


Performance improvement plan.


Performance improvement plan. It’s basically a social credit rating system for employees.


Isn't that only at a handful of companies?


[flagged]


And yet, when you fail these interview processes it's racism from Chinese or Japanese interviewers. Very interesting. https://news.ycombinator.com/item?id=30520988


Yeah probably because of racism. Can’t prove it and didn’t think of that angel until I saw the discussion from HN.


Objective answer? Pretty much every single sentence is a subjective statement... "I like it,... I don't want... , my job would be awful, ....I can trust...."

And all the two non-subjective statements are provided with "trust me" and 0 data.


I would agree with you if the interview process included ANY feedback to interviewees when they were rejected. Prior to COVID, I got flown to Seattle mid-week for 2 nights and interviewed well (the recruiter told me to start looking for houses). But 20 days later I was basically ghosted by my recruiter and I had to escalate to their manager to get a response that I was rejected. They gave me no feedback at all.

The interview process asks a LOT of the interviewee and then does not provide anything that could help the person improve next time, so the entire process feels like a complete waste of time. In my case, I was also disrespected by the recruiter.

The next time they reached out, I failed the phone screen somehow by someone who sounded 20 years younger than me (which is frustrating when you have already passed these same steps before). I don't respond to Amazon recruiters anymore.


> I failed the phone screen somehow by someone who sounded 20 years younger than me

I am definitely a little pretentious for saying this but I get kinda peeved when I am interviewing for high-level roles and my initial tech screen is by a junior engineer. It's not so much that I think I am too smart to be properly evaluated by them or that they aren't worth being part of a hiring pipeline (they very much should be!), but my opinion is that junior engineers aren't properly tuned for what is and isn't a good engineer and if they are, they shouldn't be a junior engineer.

The other side is when I get reached out to interview for a high-level role then get talked down to about how I don't fit their criteria and I basically wasted the executive vice president of external internal engineering's time.


> but my opinion is that junior engineers aren't properly tuned for what is and isn't a good engineer and if they are, they shouldn't be a junior engineer.

Presumably they aren't instructed to evaluate for that, but instead to identify glaring communication or other interaction issues.


I went through the exact same thing at a big tech company a few weeks ago. Basically told me I got it, ghosted me for weeks, I had to escalate to higher managers, got told a generic “someone was a better match”. Do these companies think about the reputation hit these kinds of things cause? Amazon is the best example - I’m sure half the people on here would never apply to Amazon because their reputation is beyond repair at this point. Some other companies aren’t far behind. They alienate and disrespect people and those are the people that talk and spread the word.


From what I've read from managers of recruiters from FAANG companies is:

1) Recruiters at these companies are under a large amount of pressure to bring candidates in.

2) There is only so much time in the day

3) They feel all of their time must be spent on potential hires because of #1 and #2

4) No one likes giving bad news

I don't feel like any of these reasons excuse you from being a considerate human being. Ultimately, it happens because recruiters are never rewarded for being considerate. People who fail the interview process are treated like legal liabilities.


And the ultimate irony…they send me an e-mail a few days later asking me to take a few minutes to give feedback on their interview process.


> "...I failed the phone screen somehow by someone who sounded 20 years younger than me..."

Consider, possibly, that the mismatch is explained in this sentence.

I will absolutely give high weight to how the receptionist is treated by the candidate.


If you are implying that I was rude to this person, you are mistaken. I treated the interviewer with the same good nature and respect that I would treat anyone. The difference between someone less than 5 years out from school and someone who has been doing this for decades is that, when you are younger, you believe that software engineering skills have anything to do with what you learned in undergrad. I misspoke on a topic that I hadn't thought about for years and I heard the shift in his tone. When I interview people and they miss something that seems obvious to me, I usually give them another chance and think of a new way to ask the question.


> If you are implying that I was rude to this person, you are mistaken.

Nothing rising to the level of implying and certainly not implying rude.

Just, "I failed the phone screen somehow by someone who sounded 20 years younger than me" might be suggestive of something to self-examine.

But since you're confident that you are fully innocent in the interaction and the rejection is solely due to your interlocutor's naivete and inexperience, then it's no doubt true.


At amazon your interviewer is supposed to be >= the job level you're applying for.


> ANY feedback to interviewees when they were rejected

This is a lawyer thing

Without large societal changes to no longer have the US be crazy litigious, no big company will ever give you actionable feedback about your interview.


I’m skeptical. Several times in my career I’ve traced back “it’s a legal restriction” and found that it was not in fact a legal restriction. It was a mutated and distorted version of a legal restriction passed down a game of telephone, in some cases stretching back years.


Legal counsel will almost always give advice based on the worst case scenario. This isn’t reflective of the likelihood of the worst case scenario so, unless they can point to a strong amount of evidence that shows companies being sued and losing for giving feedback, blindly following such advice is just lazy. I’m more inclined to be grateful towards and have more respect for any company that gives me useful feedback than I would be vindictive.


I got some from IBM, of all places, so it's not impossible.


> I’m a HM at a big tech company with this format as well. Honestly, I really like it.

The truth is that nobody likes being interviewed. Getting tested and judged by strangers isn’t fun.

But developers also really don’t like being surrounded by unqualified developers who slipped through a weak interview process. They also don’t like having significant numbers of their teammates fired and replaced all the time because the company had “hire fast, fire fast” interview styles. It’s miserable and slightly terrifying to work at a company where nobody really wants to invest much time into building relationships with new hires because many of them are going to be PIPed out before the year is over.

So while the interviews may not be fun, the reality is that strong developers really appreciate the outcome of such a rigorous process. It also helps protect people from becoming false negatives because they didn’t mesh with a single interviewer or struggled with a single interview problem.

So now we’re at this weird equilibrium where devs simultaneously hate the interview process for themselves but appreciate it being applied to everyone around they (even if it’s not immediately obvious).


> The truth is that nobody likes being interviewed. Getting tested and judged by strangers isn’t fun.

I do. It might be because I'm way better at performing in interviews than in the actual job. It's also way more exciting to do. I have also done interviews on the hiring side of the table, and that's not nearly as enjoyable. However, especially finding people to work with you is quite rewarding.


> the outcome of such a rigorous process. It also helps protect people from becoming false negatives because they didn’t mesh with a single interviewer or struggled with a single interview problem.

Not really. When I was at Google there were tons of candidates that would get passed on because of one of the interviews going badly.


> The truth is that nobody likes being interviewed. Getting tested and judged by strangers isn’t fun.

I sort of do. It's fun problem solving, at least sometimes.


> the outcome of such a rigorous process. It also helps protect people from becoming false negatives because they didn’t mesh with a single interviewer or struggled with a single interview problem.

Only if we assume the managerial class doesn't use this extended process as a chance to do politics and if we assume a longer interview results in better matches.

My experience in casting actors (different field I know) is, that after a certain duration you will get diminishing results. You can tell most of the time within an 20 minutes or less of someone could do the job or not. The rest of the hour is needed to figure out how they work in different situations.

What I would never do is have my existing actors interview them. They can veto someone, they can tell me what they think, but why on earth would I let them interview someone?


Funny, last time around it wasn't the interviewing that got to me, but the nightmare of lining up and going through interviews while also having a young baby and working full time. I remember working during the baby's naps on the weekend and then doing take home quizzes / online tests at like 10pm and like, barely scraping through.

I considered applying for Google at the time, but the combination of the famously arduous interview process, AFAIK both in terms of the time taken and difficulty (for which the recruiter recommended taking further studies in advanced data structures and algorithms) meant that attempting it would be silly.


> nobody really wants to invest much time into building relationships with new hires because many of them are going.

That's what a "farm team" is for, developing folks with a growth mindset. Never thought of it as either miserable or terrifying.


“Is it annoying for candidates?” Not just annoying, it can be downright demoralizing going through the interview process when the standard is “reject for any one reason, only accept if all agree.” and no feedback whatsoever is given.


Also the fact that hiring almost ends up looking to the most senior engineers for up and down which means you've just wasted multiple hours having less senior people interview them.

Rarely have I ever seen a candidate be rejected by seniors or leads and still get the job even when the decision had to be argued until it was unanimous. Pretty much if a senior goes thumbs down, the decision has been made and the meeting is over.

Leads and CTOs especially have to be mindful of either not being part of the decision or being the last vote, as to not taint the results... which again, means that the most senior vote will flip a "yes" to a flat "no"


That is a fair point, thank you for commenting.

Discussing how many no’s it should take to reject a candidate is a worthwhile discussion. I can override specific no’s with good reason at my company, but not all companies have that.

My broader point is that this is a specific issue with the process we can iterate on. We don’t need to throw out the whole process.


There is another thing - if you want to work at a FAANG, presumably you want to be there a while. Anyone who can't put up with a little bit of nonsense and headache for something meaningful is likely to struggle with any nonsense and headache generally. Working on any large scale project at a FAANG is going to involve a decent amount of nonsense and headache, and you gotta roll with it.

And then on the flip side - if you are really a star, and you are interviewing at a small company you should want 5-7 interviews to gauge the caliber of people you will work with.


Maybe it's an age thing, because I've already hit 40, but doing 5-7 interviews seems like time lost for all the people involved. If a company cannot decide after 1-2 interviews if the person they're trying to hire it's worth the effort or not then it means it has lost its golden touch, especially in this industry. And vice-versa, if, as a potential employee, you don't "sense" your employer after 1-2 meetings then it means it's not meant to be.

Case in point, all these FAANG companies which pride themselves in doing 6-7 interviews, they all are spitting out shitty product after shitty product (that is when they're launching any new products at all). Exceptions do exist, I know of that, and when do they show up everyone is so surprised (see Apple and M1 recently). The pay at these companies is also very good, that is correct, but it's not correlated with the quality of the people who work for them or to how their talents are put to work. More exactly, a company so immersed in bureaucracy that it needs this amount of work to hire just one person is sure to waste the talent that it already has at its disposal.


This is my conclusion as well: exluding total unusual cases, where three candidates are all equally good and you can't decide: not beeing able to tell whether a candidate fits after more than two interviews tells more about the company than the interview.


I agree with this. Honestly, as a candidate, I don't mind the longer interview loop. What I do mind is if it's very spread out. I'm willing to invest an hour up front + a full day round, but I don't want that longer round spread out over the course of multiple days. I'll give you 6 hours in a day, but not 2-3 days of 2-3 hours each.

My expectation at this point is:

Pre-onsite:

- 15 minute with a recruiter, tell me a little bit about the role, spend the majority of the time telling me why I should join the company, and take a few questions

- 30-45 minutes with the hiring manager. Tell me about what you really want, scope, the challenges, and let's talk about how I might fit. Do enough Q&A both ways to feel comfortable, and then let's make a call right there as to whether we want to continue on. For my part, I always tell the HM at this stage whether or not I'd be excited to continue.

Up to now, I've invested an hour. This is reasonable. Maybe we both like each other, so presuming we do, when you call me about the on-site, we should work out acceptable comp ranges. These may move upward after the on-site based on what I learn about the role, but let's make sure we won't waste one anothers' time with the on-site.

Continuing to the on-site:

- 60-90 mins on whatever technical background is required for the role. I'm fairly senior in management, so this usually doesn't involve code, but should cover whether or not I have a clue how to lead it. For an IC technical role, if we're smart about it, we'll know enough without doing 5X leetcode and 3X design here. I can also evaluate whether I care about your problem space if we don't make the content entirely synthetic. In 90 minutes, it's perfectly reasonable to do a design exercise + picking something in there to write some code around. This is it, though. One technical round!

- 30 mins x 3-4 with key peers/stakeholders. Make sure my behavioral stuff works for you, that we can understand one another, and yeah, that we might actually like each other enough to work together. I like to talk, and so if the other person does, make it 45 mins.

- 60 mins with the HM again to dive deeper on the role with the context gained from the interviews. Heavy Q&A. Let's give each other enough to make a decision.

- If you want, 60 minutes with whatever executive (besides the HM) will be closest to the role. Whatever you want to talk about. Let's just see if we can communicate.

You can cut this to half a day if you cut your most efficient interviewers down to 45 mins and don't overdo it with peer/stakeholder interviews, but I'd rather make it a full day with some breaks. This is because I need time to interview you, and that mostly happens after you've run through your things in each interview. We should all have enough information to decide here, and I'm not taking the on-site anyway if the first hour we had together didn't generate strong interest, right?

After this, call me within a couple of days, let me know if we're doing an offer or not. If we are, let's confirm expectations. The only things that will offend me at this point is if we're not in the ranges we previously discussed, or you want to do more rounds. I'm open to one more if there's a good reason for it (not wanting to use that person's time for the on-site is not a good reason). But we've had a day together. While one day is not necessarily enough to know for sure that things will work well long-term, even another full day isn't going to change anything about that.

Also, while the focus of the original post is mostly critical of the lengthy process and it being annoying to candidates, there's also the reality that the longer the loop, the fewer candidate throughput the hiring manager can have. There are only so many interview cycles per week before an interviewer burns out on it or can't get their job done as well. I'd argue that if you stretch these things out to a day, you will think harder about who you are bringing on-site.

If we agree for the most part that the time together wasn't nonsense and a headache, as you put it, that's a good indicator that we should work together!

tl;dr - I'm fine with 7 interviews if they're the right 7 interviews and planned thoughtfully.


> Honestly, as a candidate, I don't mind the longer interview loop. What I do mind is if it's very spread out.

As a candidate, I would also be wondering what it would be like to work for a company with a spread out interview process. I have been through multistage interviews, but decisions were always made quickly. Made it to the end of the phone screening, at the end of the conversation there is an offer to be flown out for a panel interview. Made it past an interview with the IT manager, then head straight down to someone else to discuss software development. Made it past the interview with the lead scientist, then head straight down to the lab to see the lab and meet the research team. Even though I was in my prime, I was by no means special and I only secured some of the positions I applied for. Yet I always knew one way or another within days. I was happy to work for those who I did get hired by and I would have been proud to be hired by those who declined.

Thankfully, I have never had to endure a strung out interview process. Because of that, I don't know how I would feel in such a situation. Yet looking at the prospect from afar, it leads me to believe that it would be difficult to work in such an environment: it would involve dealing with people who are more concerned about process than decisions, and with people who are not available when decisions need to be made (or even for process to be followed).


I’ve been employed by everyone from small consulting firms to big tech to FAANG and I’ve never seen anyone let go for performance. This includes serial low performers that produced nothing for years. Aside from a very few (like 1 or 2) select companies, the bar to staying employed is laughably low in tech.

In my opinion this is a big problem. I wish there was a stronger culture of letting low performers go quickly in tech. This would reduce the need for exhaustive interview loops and ultimately make the industry more inclusive because you could afford to take a chance on someone without being chained to them for years to come.


> Is it annoying for candidates? Yeah, but we pay you a lot of money

I had to go through 8 interviews for a senior position at Facebook and ended up not getting the offer. I wasn't paid a dime and had to use a few vacation days at the job I had at the time in order to take the interviews. Technically I lost money interviewing at FB.


I went through the same interview for senior at Facebook and failed. Thankfully I got a Google offer a couple of hours after I got my Facebook rejection.

What pushed me over the bar for Google was probably making fewer mistakes on the technical loops but also having more people vouch for me on the inside (they like refs that work at Google).


Yep that's similar to how I got my current job. Strong referral from someone else inside the company, we had worked together for about 4 years. I had one phone screen which was a combination "culture fit" and general talking about my experience programming. One technical interview which was way less abstract than the FB ones. And a final meet-the-team interview which was more of a hangout.

The pay isn't Facebook-tier but is still pretty darn good, and I'm enjoying it a lot, which I'm not sure I would have at Facebook. It was probably the better path for me overall.


In over 20 years, I've never used vacation days for an interview. I just either 1) called in sick, 2) needed to stay home waiting for a repair person (your internet is having trouble!), 3) had a few doctor's appointments. With working from home, fewer of these excuses are necessary. Last couple jobs I'd just disappear for an hour here and there. Nobody notices.


Multiple interviews is annoying as a candidate, but how they are used (or appear to be used) is the bigger problem. Instead of being used to strengthen a consensus they tend to be a series of filters where any "fail" invalidates everyone else's input. After all, why hire someone who everyone doesn't love? But that is the same logic as combining bad mortgages into tranches reduces their risk - sounds good on paper but doesn't work in reality.

Since you have a chance of getting cut at each round as an interviewee you are left hoping not to run into: some esoteric corner of programming you could learn in 10 minutes but haven't seen before; an interviewer who always asks a pet question (even if told not to do this); a personal dislike that is illegal but not challenged (age, gender, race, etc., waved away as "a bad fit").

If multiple interviews were used only to strengthen assumptions about a candidate and each interview had a narrow intent, they COULD help companies avoid more bad hires. But after interview #3 you are probably just filtering reasonable or even exceptional candidates based on random chance.

On the other hand, this may be a fantastic method to strengthen a "hive mind" culture, but that doesn't sound like a worthy goal.


It may work well for hiring young people.

I can guarantee that you will never see me in one of your interviews. Would I be valuable to your company? Maybe, but we will never know because the process is too long.


On one hand, I don’t want to ever get hired for a position and in a culture where I am not a match, so I myself believe that the more datapoints, the better.

On the other hand, I struggle with impostor syndrome. While fairly successful in my day-to-day, I will likely fail whiteboarding sorting algorithms etc. Imagining a series of five interviews stresses me out and I’m not even looking right now :)


> That makes my sell interview so much easier because I can trust the process to assess their technical skills

What makes you think that the process provides an accurate representation of the skills needed for the day to day job? In my experience it simply tests whether the candidate has invested lot of time cramming for that very specific type of test. If I was running a small company I would much rather discuss a candidate's experience with them and leave them the time to build useful skills, not worthless ones for passing a test.


> Is it annoying for candidates? Yeah, but we pay you a lot of money, and it does actually work for us

The best candidates can get jobs paying the same or more money with fewer interviews, so the very best aren’t going to pick you.


I'd be very suprised if this is the case, I just finished a few months of interviewing and very few places outside very small startups deviate from this format.

Not saying I am the very best, but I just didn't find opportunities for anyone to out earn by skipping the FAANG style loop. Unless you mean getting lots of equity and riding it to an outsized liquidity event, these places just tend to be not competitive to the top FAANG compensation; you would join for other reasons.


Top engineers are often recruited by people they worked with before, and aren’t going through the normal interview process.


Yeah, but the worst will also have an easier time. Missing out on a great developer is still a good deal if you also prevent 10 mishires.


> Is it annoying for candidates? Yeah, but we pay you a lot of money, and it does actually work for us. Is it perfect? No, but it does work.

I've never been paid for interviewing. You mean you pay the successful candidates well, which is what? 10% of the people you subject to this obnoxious process?


My FAANG team does 2x screening interviews plus a round of 3 to 4 full interviews. We try to interview at most 4 candidates in the full loop. That’s about 5 hours of interview time, and the average candidate will succeed by the 3rd or 4th interview.

Given that we are making a $200-600k+ decision and that the average candidate stands to gain tens of thousands of dollars or more, the 20-40 hours spent interviewing seems time well spent on both sides.


> and the average candidate will succeed by the 3rd or 4th interview.

What does this mean? It seems unlikely that the average candidate succeeds at all.


Is it annoying for candidates? Yeah, but we pay you a lot of money

Well, no you don't. You pay a lot of money only the people you hired.


However what does a hiring process like this communicate to those being hired?

I had more than one interview, where the things I discovered during the interview made me reconsider my options and go for another company. Not because I wouldn't have fit with the team or my skills were not there, but because this kind of thing tells me how processes are organized or not organized within your company, how people treat each other etc.

What candidates does a hiring process like this drive away? Are it specific character traits that pass through the sieve? If yes, how will that shape your corp and the culture in it in the long term?


Yeah, but we pay you a lot of money, and it does actually work for us

I just want to highlight that this works specifically because there are a very finite number of these we pay you a lot of money companies competing for talent and that's the primary reason candidates put up with this [expletive deleted] treatment. And the result are beneficial for these companies, yes.


I'm a HM at a big tech company as well. We do 3 one hour slots.

In a previous company we pair interviewed, 1/2 hour screen + 2 one hour slots. I liked that format a little bit better.

I've been interviewing people for about 40 years now, I was just reflecting on my first ever interview that I participated in when I was still a teenager.

I would say there are some factors that are not going to come out in any number of interviews. Conversely there are factors that are immediately noticeable.

I can tell in 10-15 minutes how strong someone is technically. At least I can tell the difference between "weak", "maybe", "strong" in 10 minutes.

Going back to my first ever interview. The guy was brilliant. He was technically good. He ended up being a not so good hire for reasons that would have been very hard to discover during the interview. It was partly the intersection of very smart without the experience to match and partly that he was just weird in some other ways. He was hired, he left within a year or so.

I think the science says the best predictor is an IQ test. The rest of our practices are not really evidence based. We tend to want to hire people that are like us, that know the things we know, we have all sorts of biases during the interview process, and throwing more people/time at it doesn't really seem to make a big difference.

I would say the most important thing you can do to get good people is to make your company a place that good people want to be. I.e. what matters is more what enters the pipeline then the interview process. I would bet that having 7 interviews vs. 3 has a difference that's completely in the noise and that at least there's no solid evidence that it gets you anything re: the quality of people working in a company. Every company says it has the best people. Mostly channeling Joel Spolsky here but I've seen this principle in action.

EDIT: Another random thought is that there are other factors that influence whether someone is going to be successful in a given role. Even the best software engineer can fail if the conditions for him to be successful aren't there.


Anecdotal, but I am a HM. The process goes I review cvs with senior engineers, we filter, 1 tech interview to validate cv, one with me to validate decision. Done. 3rd interview only for someone who would be a HM themselves. To be fair, if we could validate that cv is accurate we would not even need the interviews. Junior people are our responsibility to develop, senior you can understand their fit with some key indicators. I believe the detail in recruitment either reflects lack of trust in team or focus on accurate placement of people, which does not lineup with my expectations about how a team of creative people should be run.


Are candidates paid for their time when doing such extensive interviews? Doing 7 rounds, including preparation and travel time, may well add up to a full week.


You pay them a lot of money if they pass, but the others get zero. You’re basically annoying lots of people to make that one person happy.


You can take something out from an interview: practice for other interviews, insight of how others interview (what did you think were good or bad questions, what annoyed you). I know it's not the best use of your time but it's better than a total waste


How do you know that it actually works? Are there formal studies that compare different approaches? (it doesn't look like the difference can be easily evaluated and therefore it is extremely easy to mislead yourself on the effectiveness of some baroque process)


> Is it perfect? No, but it does work.

How do you know it works?

> I don’t want to hire the wrong person, it’s expensive and it makes my job awful for a while.

There we are. It is all about you.

No need to say anything else - your life is all about you, so of course if it works for you, 'it works'.


No, it's all about everyone. If I hire a person and fire them in less than a year, that's almost always because of a performance problem that's impacting the team or the org. If you're the one being fired, you probably left a job or didn't take some other job to work with us and now you're going to be unemployed. Additionally, as a hiring manager, I too am a human who wants to enjoy my job and have positive experiences and firing people sucks. It always sucks. It takes a toll on you.

Filtering early is best for everyone. If that means more rounds of interviews to be sure, that's what I'm going to do. I do my best to schedule around candidates and I'm forthcoming about the process during the first call but we try hard to be thorough because we want this to work well for everyone. Would you rather be hired and then fired quickly because we didn't realize there was a misalignment? I wouldn't.


> Would you rather be hired and then fired quickly because we didn't realize there was a misalignment? I wouldn't.

The fact that your knee jerk reaction to a misalignment is firing someone rather than mentoring them and aligning them with the org speaks volumes about your management style… And managers wonder why they have such a hard time hiring or retaining people right now…


They want to outsource the costs of developing talent. To their own detriment, then they want to blame everyone else.

This is of course when they're not busy abusing someone on a visa to make them do more work than a human should have to do.


You've had some bad jobs, haven't you? Want to talk about it? We don't abuse anyone on a visa because we're fully remote and don't do visas. We target the high side of comp in the person's country. We specifically hire senior people because we're small and building. Developing talent is great but the time to do that is expensive and until you've hit a certain scale, it's detrimental to launching a startup. Look around the industry and look at the success stories. Then look at what their early hiring looks like. If you can find a startup that succeeded by hiring new grads and junior engineering first, I'd love to read about it.


> If you can find a startup that succeeded by hiring new grads and junior engineering first, I'd love to read about it.

Mentoring is not something that's only done for new grads and juniors.

Wherever there are skilled people in the company interested in learning more about the systems around them and how to work with them well, it's generally a good idea to figure out some way to mentor/grow them. Whether officially, nor unofficially.

For non-technical roles it's likely a good idea to do the same in ways that suit there as well.


I used "misalignment" as a kind way to say "because we realized we don't want to work with you." But you're chasing a different thread anyway. We're talking about quick hiring and firing being better than thoroughly vetting a candidate. If we want to talk about how to hire junior engineering talents specifical, we can do that.

I definitely spend less time per person, trying to find juniors. You have to because t What you're looking for is different. My only goal for hiring junior engineers is to find out if they know enough to not drown and if I think they're willing and able to learn fast. That takes less time and the risk is generally less because my expectations are lower and so is the compensation.

It's been a while since I hired junior people though. The roles I take are always in early phase startups and I don't have budget for people who need on-the-job training.


> thoroughly vetting a candidate

Either you work at startups or you thoroughly vet candidates, not both.


I agree that bad hires should be avoided and that filtering early is best for everyone. The question is whether a stretched out interview process is the most effective way to filter out misalignments.

Interviews may be the best tool available while searching for unknown talent, but that does not mean they are a good tool. The process is artificial, no matter how much effort is put into framing it otherwise. Even the most honest interviewee will have difficulty behaving as they would in a normal working environment, while many are more than willing to be actors playing a part. Likewise, interviewers are interacting with the interviewee in an unnatural way and are making judgements about the interviewee in a fashion different from making a judgement of a colleague.

Even if one could somehow get beyond that artificiality, what sort of impression does it leave the candidate with? There is a world of a difference between working for a company that is careful and one that is bureaucratic, one that is focussed upon making sound decisions and one that simply follows process. It can also leave the impression that key decision makers are difficult to access, making it more difficult to get the actual meat of the work done.

As for competing for the best employees, a drawn out process doesn't benefit anyone and is the least detrimental to companies that offer a genuine competitive advantage. Keep in mind, that candidate may already be part way through the interview process at another company (or even offered a position) by the time an they are offered the first interview at your company. While both parties form impressions of the other during the interview, the candidate will gain more insight about the company's functioning in how they handle the hiring process than the other way around.


It's not "best for everyone."

Hired and fired quickly is better because when I have to dedicate weeks or a month of unpaid, uncompensated time to your process then I'm the one losing. You are already getting paid for putting in the work of interviewing me. If your team is stretched so thin that you need to put your time at a premium, that's a problem with your process not having enough throughput.

How many people do you reject to fill one position? How many are "filtered" at later stages to fill one position?


If it's taking months, then they're doing it badly. Our hiring process is five rounds but it never takes more than a couple weeks, including the negotiation phase. Our data shows that we need something like 14 resumes to get one candidate worth interviewing. Of those, it takes 4-6 candidates for one hire. Hiring and firing fast means we also have to invest in onboarding, training and allowing people to settle in. During that time, we've filled the current position and we're no longer interviewing candidates. Once someone is fired, we have to go through the whole mess again. That would be the most wasteful model for everyone involved. By my math, that's a minimum of two months of time on a single person (I think six weeks to fully productive is reasonable) just to go back to searching again. And that's just the US and ignores the two week notice (or more) for each candidate.

I hire in APAC too. Indian engineers are giving 60-90 day notices now and that's contractual. Two candidates, using your model, could easily take up a year. (Hiring in APAC take a long time already.)

I can only assume you've had some bad experiences lately but your personal bias has created a really bad mental model for you that would be a net negative for everyone.


> If it's taking months, then they're doing it badly.

is not responsive to

> I have to dedicate weeks or a month


Sure it is. If a company's hiring process for a single candidate takes multiple months, that's bad. The candidate experience is critically important. We have five stages of our interview process, two of them involve speaking with multiple engineers. The whole process takes less than a month, as long as the candidate has time. In general, it's 2-2.5 weeks and that involves coordinating calls with engineers in the Americas, Europe and APAC.

If it takes longer, it's always an issue with coordinating with the candidate schedule. (this is my experience with my hiring process)


No it sure isn't because I never said months or multiple months.


Fine. I'm mixing replies. A single month is still unreasonable. That's a bad candidate experience. That changes nothing about the number of people who interview you though, just how quickly.


Well due to real world constraints of scheduling even with people who's sole job is to interview candidates the speed at which you interview is most likely going to be a function of how many people need to interview you.


> Filtering early is best for everyone.

This is a lie that everyone tells themselves to make them feel secure and safe.

The best interview is working with the person. Do a few basic interviews for competency, give them a 2 week - month long 1099 contract and put them on guard rails for the contract duration.

Their daily work isn't just about whether they can jump through time-based hoops or answer basic questions. No one is going to know whether it is a mutual match until the person gets into the codebase and start working.

Plenty of great engineers have "performance problems" not because they are bad engineers but because of problems an interview will never expose or detect like a bad teammate or lead match causing disagreements, a bad codebase, poor planning that only builds tech debt, bad business plan, disagreement on business direction, etc.

The idea that an interview can filter good or bad engineers is laughable. The most you can determine from an interview, regardless of how many flaming hoops and balls the candidate bounces off their nose, is whether they know how to code and _probably_ know what you need them to know.


But why would I as a candidate leave my full time job to do a month long 1099 contract?


> The most you can determine from an interview, regardless of how many flaming hoops and balls the candidate bounces off their nose, is whether they know how to code

When I interview I don't even mention code or technical stuff (that is for someone else to ask) and I am able to learn quite a bit about a person and if they would be a good fit. Just because you can't doesn't mean other people can't.


If I could get a job in a week instead of 3 months of interviews? Yeah I'd be fine with that.


A week for a single candidate interviewing with a US only company is entirely reasonable. I don't think two is bad either. I would not stay engaged with a company that took a month, the same way I don't stay engaged with a candidate that can't find time to schedule three or four calls in less than six weeks (I am more forgiving with candidates than I would be with companies).


> How do you know it works?

If the company in question is growing its business and the employees and customers are happy, then whatever they are doing is working, at least for now. I'm not sure there is a much better way to measure it.

When I joined NVidia they had me through two phone screens (although they originally planned for three), followed by an onsite with seven different interviewers back to back on the same day. It wasn't fun, but it wasn't the end of the world either.

When I was a hiring manager at Qualcomm we would typically do a phone screen followed by an onsite with maybe four one-hour interviews back to back and there was rarely any disagreement on whether the candidate made the cut or not, so I would argue that it was sufficient.


> How do you know it works?

Because the hallways aren't empty.


the hallways aren’t empty due to the total compensation and perceived prestige working at a FAANG or similar company offers.


I had a startup give me 2 interviews and a paid coding exercise before making an offer, but the compensation was below market with some long shot equity comp. I had a large consulting company give me one recruiter screen and a series of 3 20 minute interviews, one tech one manager and one in between before making an offer at market rate. Sounds like generally interview time scales with total compensation, which seems fine to me. I’m a data scientist and I’ve never had a live coding interview but I also have no desire to apply to a top tier tech co.


Then there isn’t a problem — at least for FAANG. People are willing to jump through more hoops for more rewards in all aspects of life.

If a less prestigious company with worse compensation tries the same thing, then they will quickly discover they can’t hire anyone. It will be self-correcting.


Sounds like you're agreeing with me in disagreeing tones


due to the total compensation

Yes..it's why people do jobs.


Probably not as much as you would guess from talking to FAANG employees. It’s been fifteen years since my compensation exceeded the amount where it makes any difference to me. Now I want to have interesting problems, a business model I am not ashamed of, good and smart coworkers and decent conditions. I won’t be retiring early, which is fine: my work is almost always a fun and valued way I contribute to the world. One of the big problems with software ethics and the joy of solving problems is the influx of people choosing software not due to intrinsic affinity but just for money. Sometimes I wish more of them still went for law degrees or MBAs or surgery. It’s just a little sad to see someone who can make beautiful and useful software gems be dissatisfied because they didn’t get to be a CTO by the time they are thirty or the like.

In the 90s people getting a big software job where thrilled because they were going to change the world. My mom’s friends used stuff that ran my code. Now it seems like people want FIRE or multiple houses or lambos.


> First: we no longer trust the hiring manager alone, because probably they aren't a strong developer

This is a huge problem IMHO. I topped out at L7 on the FAANG EM track, but that’s dozens of ICs and a few EMs in your org and I still think you need to be able to build the software and review diffs and write serious ones now and again. Clearly this is now only part of your job, not the focus of it, but it’s very difficult to manage a process that you don’t understand with some sophistication.

In everything from law to management consulting to steel fabrication: the person in charge is the most knowledgeable person. Carmack is the best hacker, Mike Krieger wrote code. Hell pg wrote this site and the language it’s written in while building the most successful early-stage investment firm in the world.

Obviously directors and VPs and CEOs are delegating the details at same point, but this idea that an L6 manager shouldn’t need to seriously understand the subject matter seems wrong to me both in principle and based on watching it go to hell countless times.


An L6 manager and an L6 IC do different work though. And it's rarely (read: never) the case that the person in charge is most knowledgeable about all the details.

If an L6 manager could keep all of the details of all of the things all their reports are working on organized, they aren't handling enough scope. Imo that's the difference between 5 and 6. You can no longer track all the details in one person's head.


The most knowledgeable person doesn't always have the title but they are usually the head of the shadow org that actually gets the job done.


> If an L6 manager could keep all of the details of all of the things all their reports are working...

That's not what they said, is it? There is a huge difference between what they said and how you interpreted it. They said "you need to be able to build the software and review diffs and write serious ones now and again" and "it’s very difficult to manage a process that you don’t understand with some sophistication" (emphasis mine). How do you get 'know every little detail about everything' from that?

It seems obviously true to me that any manager who can't "build the software", "review diffs", and "write serious [diffs] from time to time" is useless. Anyone who disagrees with this is probably dead wood, spends their time fighting political wars about issues they don't understand, and their team is more likely than not constantly fire fighting and in serious trouble (in my opinion).

If I had a dollar for every time some clueless manager lectured me about how to write software, and I rolled my eyes and ignored them, and they never found out (because they had no idea what was going on to begin with, and were just posturing based on something someone said) I would have at least $100. I obviously have a chip on my shoulder here, but managers who barely know what is going on still tend to want to 'contribute', which of course they can't do in reality, so they end up playing keyword matching and 'helping' the team avoid 'duplicate effort'. For example, they will see one team building something, and another team building something, and notice some of the words are the same, and then make a big show of 'avoiding duplicate work', but in reality the use cases are extremely different and nothing was being duplicated. Once they have alienated enough of the team, people just start telling them nonsense and they have no way to know it. Productive, smart people start to leave or lose motivation. A fast pace is replaced with constant excuses and a team that is basically no longer showing up for work. The manager can't tell the difference. This is what managers who aren't in the details are like, pretty much without exception.


You seemed to skip their second paragraph, which is what I was replying to.

Someone who can review diffs and even write a serious change every now and again isn't the most knowledgeable person on the team. The person who is writing and reviewing all of the serious diffs is. And for many L6 EMs, you'll have three of those people reporting to you, they're all working on different projects, each of which you have partial but imprecise knowledge of (and sometimes, very little because L5s and FAANG are expected to be able to operate mostly independently). So you spend your time ensuring that everyone on the team has career growth opportunities, and that your less experienced people have mentorship, and hiring and arguing about headcount allocation and prioritization, which all matter, but which are all things that most engineers don't want to touch!

Yes, managers should still have engineering experience (at least up to like director/vp levels, where IDK maybe they don't need it) but having a baseline knowledge of how to do a software is not the same as being the most knowledgeable person on the team.


I made a concrete statement about what I think the minimum technical bar for EMs is up to at least L7. I also remarked that "clearly this isn't your main focus" at that seniority, which you seemed to skip.

The second paragraph, the one you seem to have an issue with, a combination of 2 things:

- a few examples of extremely senior, extremely successful engineering leaders who stayed at or near the top of the game technically, and those are but a few examples from a very long list

- an observation that in other fields, law for example, they call in the highly-knowledgable, highly-expensive, person capable of solving problems few in anyone else in the organization can and that this person carries titles like "partner" and makes the most money.

I know this is a touchy subject and I've been trying to be less flamey on HN so I didn't go hard like the GP, but they're fundamentally right even if the language is a bit intemperate: there is a prestigious and important job track for people who are pretty damned technical/quantitative but not wildly hands-on and generally concerned as much or more with coordination and communication, particularly in cross-functional or externally-facing scenarios than software systems per se: product manager. As a wild oversimplification: when an EM becomes senior enough they end up as a CTO, and when a PM becomes senior enough they end up as a CEO. This is natural and healthy division of labor.

An EM is concerned first and foremost with the health, happiness, and therefore productivity of engineers. On the foundation of the trust and rapport and deep knowledge that comes from that kind of engagement with their team, they are able to also be concerned with how their team fits into the bigger business picture: is this the right team for the needs of the business, what hiring and performance management would be necessary to make it so if not, what is a realistic schedule for the work that needs to be done given the strengths and weakness of the team members both generally and at this moment in time?

When I'm wearing my hacker hat I have no interest in reporting to an EM who couldn't do my job in a pinch, I might respect that person on a lot of levels but I won't be interested in their opinion of how I should do my job. And at no time in my career has it been so easy to identify such managers: they are the "back to the office damn the torpedos" crowd. When the task tool, and the code review tool, and the oncall/incident situation, and the build wiki are not sufficiently comprehensible to an EM to form an opinion of who is doing a good job, the instinct to do "ass-in-seat" performance evaluation is strong, the instinct to be "visible" is strong, and narrative that there's value add looks very threadbare over Zoom.

This bloc is probably too big and too entrenched to dislodge, but WFH for 2 years working out just fine is the best chance we're going to get. IMHO.


> - a few examples of extremely senior, extremely successful engineering leaders who stayed at or near the top of the game technically, and those are but a few examples from a very long list

But all of these are the exception, not the norm. You said you've been in a FAANG style org, so you've been able to view the org-chart. For every Jeff Dean or John Carmack, there's three-dozen directors and VPs who manage large orgs whose names you've never heard of and who haven't checked in code in half a decade. They're still usually very good managers.

(A reasonable opinion I've seen, btw is that if you're managing a team of say 5 or more people, if you have time to make regular code contributions,you probably aren't focusing enough on your other managerial responsibilities and are letting your reports down)

> - an observation that in other fields, law for example, they call in the highly-knowledgable, highly-expensive, person capable of solving problems few in anyone else in the organization can and that this person carries titles like "partner" and makes the most money.

This is pseudo-true. Partners are called partners not because they're capable of solving problems no one else can, but because they carry an ownership stake, and I'm not a lawyer (and presumably neither are you) but the impression I get is that law is far more delegatory than software, where a partner may call in some favors to address a problem, but will also have 20 Jr. associates investigate 20 different possible approaches and write 20 different briefs to then choose between.

> When I'm wearing my hacker hat I have no interest in reporting to an EM who couldn't do my job in a pinch,

Maybe we have different definitions here, but I've never, or perhaps once, had a manager who I felt could do my job in a pinch, and I was a new grad and he was the worst manager I've had at the time (although he very quickly got better as he learned to be more hands off). A manager who could do my job in a pinch is too micromanaging. Maybe you mean something different in that they could, given a week or two to turn-up on the project take over, but that's not really what I'd consider "in a pinch".


> Maybe we have different definitions here, but I've never, or perhaps once, had a manager who I felt could do my job in a pinch,

The chief of Air Force still flies the fighter jets just as well as the junior pilots. The head of surgery in a hospital still operate just as the junior surgeon. Why does tech have to be different?


An air force officer may have to qualify on their aircraft each year, but they're unlikely to be "the most experienced" fighter pilot, and it's common in the military for enlisted people to make fun of officers for being too abstracted away from the life of a soldier.

> The head of surgery in a hospital still operate just as the junior surgeon. Why does tech have to be different?

Because the load we put on medical personal is abusive and we shouldn't copy it in tech?


You've got some reasonable points and I don't just want to completely gang-tackle you here, but there is a part of your argument that I think is sufficiently incorrect in a sufficiently harmful way that I'm going to sort of keep at you about it, in what I hope is an open-minded or at least respectful way.

Some people like the book "Coders at Work" (I do), some do not, but almost anyone would agree that the people interviewed are absolute luminaries [0].

There are 15 chapters comprising 15 interviews. You have to get to #6, arguably #7 before you find someone who at the time of writing wasn't both a world-renowned hacker and currently or at one time a demonstrably successful engineering leader. The first 5 being: jwz, Brad Fitzpatrick, Douglas Crockford, Brendan Eich, Joshua Bloch. It starts to get a little blurry in the second half because it's so thick with CS academics (who in a different way also do engineering management), but you've still got VP-types who still code like Peter Norvig. The ~50% who aren't demonstrated engineering leaders are super hard-core CS researchers like Donald Knuth. The book doesn't even interview Cliff Click, or John Carmack, or talk about the fact that Larry Page and Sergey Brin wrote the first version of Google themselves and continued maintaining parts of it well into hyper-growth. Eric Schmidt wrote `lex`. When Jack Dorsey was recruiting me for Square over lunch he made an incredibly eloquent argument about why he uses OCaml rather than Haskell for his personal hacking.

At the time I was an L7 EM, my L9 boss didn't have much time to write code, but asked probing questions about everything from the merits of various binary classifiers given imbalanced underlying Bernoulli distributions to the algebraic properties of the data structures we were using for distributed systems convergence.

I don't dispute that plenty of successful leaders in technical organizations have become rusty as hackers when they hit the mega-seniority, but the idea that some L6/L7 manager shouldn't be able to lift some of their team's serious code off the ground, let alone some undergraduate dynamic-programming interview question as was the original point of my original post is simply contradicted by a mountain of evidence both generally-available and anecdotal to numerous people in this thread.

You can get ahead as a mid-level EM without knowing the frib-frobs from that whatsits, but God-willing I'll never work for one again. That's a visibility game, it's a popularity game, it's a schedule-too-many-meetings game, it's a post-too-much-on-the-internal thing game. Fuck that game.

[0] https://www.oreilly.com/library/view/coders-at-work/97814302...


> I don't dispute that plenty of successful leaders in technical organizations have become rusty as hackers when they hit the mega-seniority, but the idea that some L6/L7 manager shouldn't be able to lift some of their team's serious code off the ground, let alone some undergraduate dynamic-programming interview question as was the original point of my original post is simply contradicted by a mountain of evidence both generally-available and anecdotal to numerous people in this thread.

I think this is the root of the disagreement. I want my managers to be technically capable with an engineering background. As far as I know, my entire leadership chain, arguably excepting my SVP and CEO (at Google) have such a background. Yes they should be able to pass a tech screening and certainly system design.

They should have enough knowlege to know why you're making certain technical decisions and be able to see that you're justifying them well. That's all true. What I'm saying is that a manager who is staying so deeply aware of the details of all of their reports work that they can drop in and take over in a pinch probably has too much context. I'm not making an argument on abstract technical ability or knowhow.

Like in the same way that my entire management chain has technical knowlege and background, practically none of them have submitted code at work in the last 3-4 years at minimum, for some that's their entire career at Google. I expect that, with enough effort they could all work on the projects I work on and make contributions, but they'd need to learn all of {language and codestyle, libraries and relevant tactical design patterns and norms, various technical constraints to the design that are important but nonobvious}, so in most cases it would be similar to onboarding someone who was a technical contributor from another team or an experienced new hire. I don't really consider some random employee of Facebook to be someone who could "do my job in a pinch" either, even if they're more technically competent than I am.


> and I still think you need to be able to build the software and review diffs and write serious ones now and again.

I've had some good managers that could do that. But the people management skill set is so much more important to their job. And it's a very different skill set to being an IC.

I wouldn't argue in favour of engineering managers with no technical skills at all, but I also don't think it's fair to demand they be masters of both the IC skills and the people management skills too. It's very difficult to be good at both.


Do people call it a diff in the rest of AANG?


I think it's called "changeset" at Google, or at least was, and "PR" is becoming pretty common everywhere because of GitHub. But "diff" seems to be gaining some ground as a general term in the monorepo/unified-build/trunk-only world. Uber uses/used Phabricator and I think there are some other high-profile shops as well.

I don't know that there's like one leading term, but I think everyone knows what "diff" means both literally and as a connotation that it's a rebase rather than merge workflow.


It was "CL".


change list I think


I call it a diff and work at an almost-FAANG, I think it has to do with trunk-based development.


That does sound ideal but it's not really something that scales with enormous companies or a globalized economy. You can always allocate the best people to the top roles in the hierarchy. The reason is not only because you don't have the right people to fill those roles who also have the skills for leadership, the reason is sometimes because you have so many of them you can't allocate them because they're aren't enough spots at the top in the hierarchy.


*you can't always allocate the best people to the top roles in the hierarchy

Omg when a typo or voice typing completely inverts the intended meaning raaa


If we're talking about a one phonecall + one in person session with different teams, lasting 2, 3 hours max, sure. If you expect me to take time off work 4, 5, 6 times and get inteviewed for several hours each time, you're either paying me for the lost time, or I'm not going through the process the moment i find out the length.


It is somewhat easy to cheat through these N+1 interviews by grinding tons of practice problems before. At least that was my strategy. Sure I can implement DFS or a linked list, but I am a pretty suboptimal developer, especially when working with huuge codebases.

Maybe they should ask to implement a feature or fix a bug in some huge OSS project. That would evaluate skills relevant for a job in FAANG more closely imho.


Everyone I've ever met who said this was a better engineer than they thought. They seemed to look at the very best engineers, see a difference between themself and that person, and think they weren't that good.

I think there is also some kind of survivorship bias - you don't hear from the people who tried it and failed.


    but I am a pretty suboptimal developer, especially when 
    working with huuge codebases.
I'm in the same boat when it comes to huge codebases. I see people being effective on them and I often simply do not know how they do it.

But it is for sure, a completely different skill from leetcode style stuff.


I'm convinced that the best interview is to give someone an app (react or node app for example) and do exactly what occurs all the time in the real world. Give vague indication that a feature appears to sometimes not work correctly.

In the app code there should be one or two very obvious bugs and easy optimizations to make, and then put more subtle and challenging to fix issues there as well. And ideally make it something where a really sharp and experienced developer would identify some high-level architectural flaw and they would know how to rearchitect it.

Everyone knows that the leetcode-style questions are contrived and don't usually reflect real world work but we continue to do it anyways.


I've done a variation of this exercise with some folks I helped to interview.

We showed them our website and asked how they'd investigate/troubleshoot a complaint that the site was "slow."

Then we kind of role-played the troubleshooting process. Ideally I wanted them to determine if the site was slow for everybody, vs. just the person that reported the issue. If it was only slow for a single person, was it their account, or many just their internet connection? How would they determine that? If we determined the issue was happening for everybody, how would you determine which part of the stack was slow? Etc.


I was going to say this.

To add more: a single person (HM) might have biases for or against certain candidates. More people in the loop brings in diversity and helps to keep interviewers honest and consistent.

Also these roles are usually high stakes and the cost of a bad hire is too high.


> these roles are usually high stakes and the cost of a bad hire is too high

Really? High stakes? This fucking site.

Have you ever worked as a software developer at a corporation? Nothing about it is high stakes. You spend most of your time dealing with useless idiots who report to other useless idiots, who report to other useless idiots, about a useless product they think is a great idea that every non-idiot knows is useless garbage.

That's how you get Google not creating a single non garbage product over the past 15 years.

When they did Google Maps, did they have 7 interview processes? I bet you they didn't.

Here is how the real world works - 0.0001% create something, then 99.9999% turn it into what 99.9999% of people are. What that is - I leave to you as an exercise.


> When they did Google Maps, did they have 7 interview processes?

Actually, the original work for Google Maps was done by three companies that Google acquired:

> Google Maps first started as a C++ program designed by two Danish brothers, Lars and Jens Eilstrup Rasmussen, and Noel Gordon and Stephen Ma, at the Sydney-based company Where 2 Technologies. It was first designed to be separately downloaded by users, but the company later pitched the idea for a purely Web-based product to Google management, changing the method of distribution. In October 2004, the company was acquired by Google Inc. where it transformed into the web application Google Maps.

In the same month, Google acquired Keyhole, a geospatial data visualization company (with investment from the CIA), whose marquee application suite, Earth Viewer, emerged as the highly successful Google Earth application in 2005 while other aspects of its core technology were integrated into Google Maps. In September 2004, Google acquired ZipDash, a company that provided realtime traffic analysis.

https://en.wikipedia.org/wiki/Google_Maps#Acquisitions

Android was also acquired:

https://en.wikipedia.org/wiki/Android_(operating_system)#His...

Some of the things that Google is best known for were not invented by Google employees.


Wow, I didn't know that but I am also not surprised.

So Google had one good product in 20+ years. Lol. At least they have 7 interviews to make sure they don't make a 'bad hire'.


Hey stop stepping on fragile egos. We gave out participation trophies to a whole generation.

Hiring one wrong dev will end google!


I have to agree with you. So many people try justify the interview process with their intelligence or "costing the company multi-millions". It's all tied to their ego. I wonder how much of it is stockholm syndrome.


High stakes means high investment. You can’t just hire a dev and have them running in a week, their bad work could cost the company multi-millions in obvious and non obvious ways and proper onboarding takes months at minimum.

On the other hand, a cashier can be replaced in a week, and they don’t effect the entire future of the company as SOP.


> their bad work could cost the company multi-millions

That's such patently absurd bullshit. Google has a code review process. Almost any large tech company has this today. The review process is to ensure that it's a team effort when a major screw-up happens. You don't just let some new employee merge untested and unreviewed code.

You know who I always see harming the company with outages and downtime? Seniors and managers that cut corners. I've had managers before that put in place all these safe guards that go out the window the very second a deadline is threatened. They merge untested code. They route traffic haphazardly. They fuck around with DNS or user accounts on a whim. Because no one is there to tell them not to. They believe they are the exception. The rules are for the minions below them. If you're working late on a weekend cleaning up a huge mess, there is a good chance it's because some manager-turned-arsonist fucked around with the process. They cut corners on the planning, the implementation, or the roll-out.


You don't think those managers are "dealt with"? Lol yes they are, but it shows up in 'reorgs'.

And outages still occur even with code review, unit tests and alerting.


Ok, for the record, I haven't worked at a FAANG company so the stakes weren't as high. Just video game studios, so million dollar companies not billion.

Even on our systems, we had so many redundancies and test servers run, that even when a mistake did run through (which was exceedingly rare, given the testing), the roll back was quick. A single dev, especially a new hire, was unable to make multi-million dollar mistakes. It had to be several systems to fail, in order to be released to the wild. I can't believe any of the FAANG companies got to where they are with such a "cowboy" attitude as to say, "it's your third day, push that untested code straight to prod".

Edit: autocorrect hates me


> we had so many redundancies and test servers run

How did you hire the developers who built those systems? Was the bar higher then?

Lots of companies have institutional memory of how their first few hires were crucial to make the company successful. It's a tough decision whether to keep standards high, or risk losing the skills that got you this far. Eventually the early people leave. Where I work, the stuff they built is viewed as some kind of godlike crystalline shrine that you dare not touch.


It isn't just a one person show, is all I'm saying. The many are more capable than the one. Even if mistakes get made, there are processes (maybe a better word than systems) in place to keep it from turning into a failure in the wild, and if it does sneak through, it's a relatively simple roll back.

When a new hire comes on, that institutional knowledge must get passed on - hopefully there is good documentation, though it's never as good as hoped. No matter how well a new hire does on their knowledge test, TBH, the most important thing I hope someone I get to work with is culture fit and the ability to learn fairly quickly =[ how to interview for that is pretty difficult, though.


Eh I don't believe it is a million dollar hit. If it is then you have bad controls and bad process.

Google is optimizing for the wrong things. The reason Google has hard interviews is to minimize attrition and make everyone who passes the interview feel smart.


Have you worked at GAFAM? I've been on 3 person teams with over a million dollars a year in hardware expenses and we've done some crazy optimizations on our c++/java code.


> their bad work could cost the company multi-millions

They is false and hyperbole to justify your argument. If a single employee can cost a big company like Google multi-millions, then there is a company structure problem. You make it sound like there are no system of checks. The very definition of being 1 in 10,000 employees at big corp is that no one is important enough to cost the company multi-millions.


You can tell when someone hasn't worked at a google sized company when...

Yes, it happens all, the, time. It's just not public information.


Google has has 6+ interviews since at least 2003


Most orgs use a veto model. If not everyone is a strong hire, the candidate is rejected. The bias is still there, just not a positive bias now. It’s a strong negative bias. And obviously most people don’t want to come across as “too easy”. Essential you’re positively reinforcing to reject more and more candidates and make the whole process a nightmare.


Amazon had an interesting system for this: one of the interviewers, the 'bar raiser' gets the final decision, ideally based on what everyone else says (but not necessarily).

That BR has done 100+ interviews, took a lot of additional training, and is empowered to ask a lot of questions to dive into the feedback people are giving about the candidate. So if someone is being too hard, or has a weird bias, the BR can override them.

It's a fascinating system and seems to work okay.


I will accept a veto but only if the interviewer can explain it sufficiently. I think it's important to trust but it's also important prevent abuse from bias. (Someone who abuses interview vetoes is likely a poison pill themselves and that's something I have to deal with as a manager.)


Yeah this also is a big issue. It was nice having the "debrief" meeting afterwards. This meant that people had to back up what they had written.

"Why do you think this person 'isnt a good culture fit'? Oh because the team you run are all 20-something male brogrammers and this candidate is a 38 year old woman with kids? Hey cool, that's illegal discrimination."


Keep in mind that the hiring and interview process is bi-directional: if one finds that the company to which one has applied potentially consists of terrible human beings, exit quickly and move on to the next opportunity (unless you are yourself a toxic influence, at which point the culture fit may very well be right).


> usually high stakes

You obviously haven't worked in finance. Google is as far from high stakes as you can get.


Exactly. The Knight Capital incident springs to mind.


> Exactly. The Knight Capital incident springs to mind.

Sure, but was that the engineering team’s fault or the fault of bad management culture? I suspect it was management that failed to adequately support their engineers and ensure they were well staffed, compensated, and didn’t have to work extraordinary hours to meet absurd “deadlines” that resulted in that fiasco.


> To add more: a single person (HM) might have biases for or against certain candidates.

That would be true for all organisations. You could do 6x more interviews if they were all a single round.

> Also these roles are usually high stakes and the cost of a bad hire is too high.

Hiring a brain surgeon is high stakes. I don’t know a lot of software positions where it is true.


> Hiring a brain surgeon is high stakes. I don’t know a lot of software positions where it is true.

Arguably it's not.

But if I think I'm doing a guy a favour by 'giving them a chance' and hiring them when they're marginal, and they quit a stable job and move across the country, then I fire them? In that case I didn't do them a favour by giving them a chance.


If you felt like that after your single interview you wouldn’t hire them?

Especially when you know they’re going to need to move all across the country.


A determined senior engineer could destroy a company in a day. At large companies they could cost the company millions.

While we like to pretend there are technical controls to prevent this, actually effective measures would come at a high cost to productivity.

And at huge FAANG companies replace "department or team" for company above. A bad hire can destroy a team or product or the team's reputation in the company.

Brain surgeons are not high stakes hires because they're not operating on their employer's brain and there are inherent barriers to entry in that field. The "brain surgeon" license actually means a lot.


I mean brain surgeons tend to be board certified. Don't really have that process for SWE, do we?


[flagged]


I’ve worked in tech for decades and I’ve never experienced a process with “7 straight white guys” much less every time.

First, how do you know the sexual orientation of interviewers?

Next, tech is like 50-70% Asian so it would be so weird to only have white guys doing programming interviews.

The guy pet is spot on as programming is way heavy in guys.

But I’m not sure why you would think that 7 interviews = 7 straight white guys.


> Next, tech is like 50-70% Asian

On the west coast. I've had employers where Eastern Europeans were more commonplace. The same employer had an Indian subsidiary but didn't hire H1-Bs and South Asians weren't present in notably large numbers.


I joined a subsidiary of a large company. I was the second non white guy at the company. Never knew a tech company could be so white.


(For a definition of white that is heavily Asian)


Maybe better to look at the definition of asian than white, Asia includes the subcontinent.


That is great signal for the candidate, though. If a company is putting all of their decision-making power into the hands of douchebros, it's best to make that clear in the interview process so that talented candidates can stay away.


At least half of them are Indian, in my experience.


When I interviewed at Google recently, the behavioral interviewer was a white guy. The four algorithmic interviewers were one Indian and three Chinese nationals.


I experienced almost that complete opposite of that, for sure..


Ok well, that makes sense on the other hand I went through a 7 interview round and I ended up taking another job before the last call to tell me you got the job!

That said it was mainly because they said after several interviews oh you just have one more to go but then the next interview said you have one more to go and they would also say you will be hearing from us in a week but it turned out I heard from them in two weeks.

But in the end, actually, both jobs paid the same, but one of them seemed to me to value my time more.


Completely relate to this!


>Second: Is it really fair to have just one or two developers evaluate you? When I first was an interviewer, I liked everybody! I would have hired them all. So getting multiple data points matters. Best to have at least a couple dev interviews.

Except FAANG interviews require excellence on almost all of the interviews, so the extra people only represent further opportunities to be denied.


Exactly. Many of these interviews it only takes one person to feel 'eh' or negative on the person to tank the candidate, so the more people you interview that person, the more likely you're going to have that impression on one of those people (especially if it's an all day series of interviews, you'll probably start to get mentally exhausted near the end of it), and the more likely any given candidate will be rejected.


It's the same principle behind using large numbers of disks in certain RAID configurations. If the pool can't tolerate a disk or two failing, adding more disks increases the chances of one or more failures occurring and tanking the pool.


What I'm reading here is that even as an experienced interviewer you struggle to make the format effective and equitable.

Sounds to me like the format isn't worth keeping; time to hire more, and fire fast?


I never understand answers of this format: "status quo has flaw of some known, finite impact" time to "completely ridiculously overcompensate, overreact, and make arbitrary move?"

I can't even fathom in what ways you think "time to hire more, and fire fast?" is more "effective and equitable"? You just shove even more risk onto individuals who might be getting their footing still.

You're just turning a 8-9 hours commitment to an interview into a 6 month commitment. Sure, you get paid but you also have to deal with churn and burn.

I mean, did you think stack ranking was a good idea?


The response is to the needless growth in complexity of the hiring process; advocating for reducing that complexity is appropriate.

You're tacitly expressing a concern that a fast hiring commitment would be riskier; but that's not necessarily so. A minimal set of filters are meaningfully effective: resume, references, and meet the team. Anything beyond that doesn't have just diminishing returns, it can negatively impact the company by narrowing the field of viable candidates too far.


I guess I don't think 2 phone calls and 5-6 hr onsite is that complex. Maybe the onsite could be 3 instead: 2 code + behavioral, but I can't imagine wanting to do less than that.


5-6 hr onsite is a strong filter against folks who are presently employed; particularly those who cannot spare personal days or unpaid days for every interview.


I don't think that argument is particularly relevant in the tech industry. It's not that hard to find a "sick" day, even if you don't have unlimited PTO. And especially during COVID, where going missing for a day might go unnoticed for a lot of people.


> It's not that hard to find a "sick" day, even if you don't have unlimited PTO.

Yah, no. That's a ridiculous proposal for many people, particularly parents and anyone with any sort of disability.


Are you really advocating people take sick days to interview for other jobs?


That is actually a pretty normal thing to do, yes.


Well... yes. I think that for most HN commenters, who work for a non-hourly salary and provide hard-to-quantify value in a seller's market for labor, it's generally possible to get a day off if you need it.

Many tech companies have gone to "unlimited" PTO, so there's no cost to taking a few days off. But even outside that, almost no managers are following the letter of the law. Last time I changed jobs, my employer at the time had explicit PTO time, but unlimited sick leave, and in practice during COVID (and especially near any holiday) was pretty lax with accounting for "I need to be out on Friday afternoon" as long as work was getting done and you were somewhat responsive to email/pings on the day in question. I wasn't hunting very actively, so it was just the one day of interviews with one potential new employer - I concede that if you needed to do many full-day interviews, it would eventually become conspicuous.


Nor do I. But I'm the cases we seem to be talking about here, normally it's not like that tho. It's multiple rounds: 5-7 interviews. Especially since remote.


eh: in the cases... Not "I'm", heh :) sorry :) ;p


> expressing a concern that a fast hiring commitment would be riskier; but that's not necessarily so.

I think it is necessarily so. Hiring fast is effectively hiring randomly and that is way riskier.

Would you read random books? Watch random movies? Maybe, but probably not.

Would you buy a random car? Of course not. Would you buy a random home? Etc etc

You can logistically reduce the number of days by maybe doing multiple interviews into a single day, but that’s still hours.

I’ve worked back in the dot com days where you were hired on the spot and that was fun until they fired on the spot.

Having a well-designed process that takes a while is not perfect, but is better than the other options. “Slow to hire, slow to fire” is a good maxim.


I'm not advocating for hiring literally anyone. If they pass your credential requirements, reference checks, and team meet then they're already passing through significant filtering.


Resumes aren't really credentials. They're lists of things provided by the individual themselves and are almost always inflated in some way. Reference checks are just "I got someone you don't know (and shouldn't trust) to say good things about me", and meet the team is just "I can talk to people and sound smart for about an hour or two".

There are a very large number of idiots who can do those things. I strongly disagree that this is a significant filter.


Those who lie on their resume in a harmful way are immediately apparent upon hiring, and so are quick to fire. Those who do not, are not, and aren't fired.

It's really not the risk folks seem to think it is.


Why do you think it’s easy to find who has lied on their resume?

It can take weeks for someone to orient, and as mentioned all over this thread it’s hard to fire people.

I’d rather use a system that avoids hiring people that will need to be fired. Blindly trusting resumes is silly since resumes are hard to verify.


It's not easy to find liars. It's easy to find who are underperforming. There's a difference between the two.

Resume, references, and team meeting filters out almost everyone who needs to be fired. Folks who lie on their resume, who arrange dishonest references and who defraud their way through a meet and greet are _exceedingly rare_. It's such a vanishingly small segment of possibility that it's not worth troubling oneself over.

The reality is that companies use complex and obtuse hiring practices to cover for poor internal practices. They recognize an inability to deliver and perform on their teams, and consider it a hiring failure; but the reality, most of the time, is that it's a structural or management failure. Most hires, most of the time, are sufficiently able to deliver on their desired roles; but often, management is unwilling and unable to identify that they are responsible for poor performance. And so they blame the candidates, the new hires, to their teams. Not themselves.


I don't think folks are saying that outright lies are happening very often. What is happening is resumes being written to sound impressive (obviously) and perhaps inflating the difficulty/contribution/impact of past work. Exact same thing with referrals and meet and greets.

Honestly all three of those things test the exact same thing, the person's ability to sell themselves. Which is why I would not work anywhere with such lax interviews. I don't want to work somewhere that only values likability and talking oneself up.


The dirty truth is that if a candidate thinks they can perform well in a role then, most of the time, that's true. It is exceedingly rare that people apply for roles that they know they cannot deliver upon.

It's dirty because we like to believe that our technical proficiency and ability is elite and rare, but the truth is that with a little training, with a little on the ground experience, many people can do what we do.

You don't want to work somewhere where that's proven possible.


I think that's probably right, although not always, and there are other problems associated with firing these people as others have pointed out.

What you said is that those three things, including the resume, are significant filters. I am saying they are not and you seem to not have a rebuttal on my point about the resume.


1. Often, legally, firing people is harder than hiring.

2. Hire more, fire fast sounds good on paper but will destroy morale as the team identity will be constantly influx.

3. Engineers will spend less time onboarding newer engineers to the detriment of everyone because well, they might not just last.


4. I think there's also a potential cost to your future ability to recruit. Once people know you're quick to fire, candidates will view your offer less favorably if they also have an offer from a company with a longer interview process, but who doesn't have the reputation for firing quickly.


Basically everywhere in NA has allowances for probationary periods with at-will employment. Moreover, prospective hires could start on contract.

Morale is improved when team members feel like they have some control over their membership.

It seems like you're assuming that a great many people would be fired; why so? In my experience, having worked for several such companies, firing is rare because even minimal filters are effective.

Resume check, reference check, and meet the team. Done.


I’m not saying you’re categorically wrong, but this doesn’t match with my experience, at all. If you’re an HM and this works for you and your company, great, but the HMs responding here don’t agree.

The processes you are questioning scale to thousands of people with varying backgrounds. It’s not an accident all of these companies do this. Your process places extreme trust in one group of people. It’s just so risky.

Also, resumes are mostly bullshit, IMO. Reference checks are complete bullshit, IMO. I’ve worked with my buddies at startups (who get lofty titles) and just have them give me reference checks. Other references have asked me for call scripts.

Also keep in mind that most of these big tech jobs are highly competitive. Your solution eventually requires a coin toss if you have limited spots. There’s only so much data you can collect from the process you propose. The natural thing is to then assess each candidate a bit more until you’re confident you’ve picked the right one. And then you’re here.


I've hired more than my share, yes.

Truly bullshit credentialing is immediately apparent to teams that receive new hires. In some places, it's fraud and actionable by the company as fraud.

I don't think companies with billions in revenue really have a budget constraint on hiring; it's structural constraints that are holding them back. They can, and do, engage in mass hiring and construction of whole new departments when it suits their strategy.

That said, further constraints can happen at the credentialling level; I'm not advocating hiring literally anyone.


What's practically possible is always a subset of what's legally possible. I think probationary periods/contract-to-hire situations are extremely unlikely to work for anything beyond absolute entry level, for a number of reasons.

For one thing, it's a huge amount of uncertainty to put on the potential hire, which means you'll be strongly biasing your hiring pool towards people who don't have better options. It feels like in an effort to reduce the interview time, you've effectively expanded it to multiple months.

Second, how do you calibrate the "default" option? Is the expectation that everyone on a probation period will be hired unless proven otherwise, or is it that most will be let go unless actively vouched for? Is that expectation clear across the team? If there's a mismatch across team members, you have big problems. People who want to keep a prospect will be annoyed if they're let go, and vice versa. People who need to work with a prospect will have to figure out whether it's safe to actually trust them with anything - on the one hand, you have to give them enough work to prove themselves; on the other hand, you can't give them anything too important or with too long a horizon, because they might be gone before they get to launch.

And finally - how long does that trial period need to go on to be useful? The goal in designing a hiring process is to get a reasonable level of precision/recall (different companies will balance differently between those) with a reasonable level of investment. If you've increased investment without increasing precision, then you've done something wrong. Given how long it takes to ramp up a new hire and have them actually be productive, I don't think you're going to learn much in a ~6 month probationary period that you couldn't already tell in a day of interviews.


The default option is simple: did the hire add meaningful value to the team? Very few people fail that simple test, in my experience; and folks who would have failed technical screenings would have excelled in subsequent performance-enhancing evaluations. Someone who can't balance a binary tree might be the single best technical coordinator you're going to hire, after all.

I've worked at many companies, and those that hire fast, and fire fast, tend to be those that _fire least_. They have _lower expectations_ for performance, and so are more likely to be receptive to _training new hires_, rather than expecting them to hit the ground running as equally effective as their new team mates.


> Basically everywhere in NA has allowances for probationary periods with at-will employment.

Yep. Lots of places with even stricter pro-employee laws, including Europe, also have it.


How many people have you hired? This doesn’t seem like a perspective from experience but a proposed hypothetical in a world that doesn’t exist.


in the US employment is at will or whatever it's called so they can fire you on the spot for no reason at all.


They can legally fire you on the spot, yes, but all that means is that the fired person can't sue their former employer. That doesn't mean it's actually a good strategy for the employer to do so frequently, because the employer's relationship with any given employee doesn't exist in a vacuum, and has effects on the employer's relationship with other employees and potential hires.


This is true but if it's well known that you fire, say, 30% of your hires after 6 months then you'll have a much harder time attracting the kind of candidates you want to be attracting. You can compensate for the devs' opportunity cost with, well, compensation, but you'll be competing with FAANG, whose high-turn reputation isn't even 30% bad (with the possible exception of Netflix)


Hire fast and fire requires even more effort and commitment from a candidate, I’m not sure how that would be an improvement. Firing fast would be like 3 months of interviews!

I’d also like to add that having multiple interviewers, if they have diverse backgrounds, is more likely to be equitable than a single interviewer.


It's not so much effort or commitment if the team is fully remote.


You’re asking someone to quit their job to maybe get this new job. And you won’t know for months so all your other offers are gone. So if it doesn’t work out, you’re unemployed with no prospects. Sounds terrible.

I’d take 15 interviews before taking that risk.


If it takes months to determine that someone is a bad fit for a team then the team has internal issues that need to be resolved.

Moreover, if someone has the skills on paper, and the references to support that, then any tech screening is unnecessary. It just tests for ability to pass tech screens.


The problem is "skill on paper" is just that, words. There's tons of java developers but not all the same. References too are pretty easy to game. Alternatively if by skills on paper you mean open source projects, that's fair but most developers (and certainly most new grads) won't have anything worthwhile to show.

The tech screens can show a person's skill. Sure, lots of people are gaming that too and memorize solutions, but that's not most candidates.


There's a difference between:

    Foo Corp
      - Wrote Java on Bar project
And:

    Foo Corp
       - Designed and developed infrastructure for Baz for Bar project (Java)
A resume that doesn't give an idea of what someone did, beyond the tech they used to accomplish their goals, isn't likely to pass my interest test.


There's only a very, very small difference between those two things though. I'm not hiring anyone based on either of those bulletpoints or similar ones; no matter how many there are.

It's so easy to inflate your role on a project and what you contributed and the people who are best at it are usually also able to talk, talk, talk.

The first interview question I ask is so easy that I don't think anyone should be paid to write software anywhere if they can't solve it. And yet, I have candidates with plenty of nice bulletpoints like your second one on their resume who can't solve it or take 30-45 minutes to solve it. Good candidates take less than 10 minutes, very good ones take less than 5.


Ah, you've got a gotcha bullet point question that you think is a killer technical ability question. But you're asking it in a completely abnormal situation, an interview. All you're testing for is the candidate's ability to answer your clever question in a scenario where their ability and personal value is actively being judged; which is wholly unlike any day-to-day challenge they are to encounter.


The question is not a gotcha. It is not trivia. It is not even a "killer technical ability" question. It's a question I considered not including because I thought it was too easy. Folks I've interviewed proved me wrong and I've come to realize that when I get any signal from it, it's the best question I ask.

If you know what a hash map or dictionary is then you can solve it. If you can't answer a problem because you're under pressure then that's a no hire signal on its own.


I think we should agree to disagree. We both seem to like our own process and see major flaws with the other’s. The best solution is to work at different companies.


FWIW, I was introduced to this method by others, and have used/been a part of this method at several companies now; and I find that each company where I have seen it employed has had remarkably low turn-over and high team morale. Much lower turn over, and higher morale, than the companies I've been at that have done otherwise. Also anecdotally, the companies that employ this method have been the same companies that seemed most willing to train and aid an under-performing employee, rather than simply let them go.

I think it's because the awareness of the need to ensure performance is baked-in to the process; rather than having an assumption that the hire should have a high level of performance. Employees aren't like other physical assets, like computers and other hardware, they're malleable human beings that are accepting of improvement.

But I don't know of any large studies on the merits of this approach, so perhaps I've simply been lucky to have had positive experiences.


That's what internships are in a way. Do you think that's a bad idea?


In my point of view, most hiring requires a form of internship. No one drops on to an established team with full knowledge and experience with the internal tools, procedures and products.

And yes, I lament that internships are so maligned. It shouldn't be that interns are poorly paid; we should be able to hire someone with decades of experience in a tangentially-related field at a competitive salary, and consider them to be interning on an unfamiliar field.


Internships are probably the best way to hire, but they only work for people at that specific stage of life.

University students already have a three-month gap in their schedule where they aren't doing anything, so they are willing to take a temporary role to fill that gap.

Experienced people who already have a job aren't going to drop that to take on a temporary role unless they have an unusually high risk-tolerance or unless they are desperate.


I assume there is some level of exaggeration here?

If not, it might help to actually try this. Take an aggregate of 15 interviews in the next couple of months and you're bound to learn something. My hypothesis would be some new empathy for interviewees but maybe you find a better role at a better company in the process. If the worst case is that it is a colossal waste of time, then you again have found empathy for the interviewee.

Ultimately, you might be narrowing your pool of applicants to only those willing or unwitting to go through that process.


But with being hired you get paid.

If employers with lengthy interviews want to pay people for their time that would be fair.


Fire fast is a harmful policy to employees in the US due to health insurance being tied to employment.


"Hire more, fire fast" does not sound like a company I'd want to work for.


Have you ever been fired before? It sucks.

I’d much rather not get hired then get fired “fast”.


Amazon follows the hire fast PIP fast strategy.

Look what that did to their reputation and company culture.

Netflix is a little more successful at this, but they have a much smaller eng footprint and much higher compensation in order to attract and retain top performers.


Where I am, in BC, Amazon is recognized as a challenging but rewarding employer; one that compensates better than most and expects consistently strong results.

I wouldn't consider that negative, really. Daunting, perhaps.


To be honest, it sounds like "the format with only 3-4 interviews wasn't effective and equitable, so we adjusted it to make it more so, resulting in the current 5-7 format..."


Yah, and I expect they'll find that insufficient and find themselves considering 8-9 interviews! ;)


I’m not sure that’s feasible. Not sure what the roadblocks are, but every company I’ve ever worked for seems to have real reservations, usually at the HR level, with simply getting rid of bad eggs.


That's probably true, but I think at least part of it is just smaller companies doing what bigger companies do, in a kind of cargo cult ritual.

The last company I worked at had 8 interviews, which I thought was a lot. My current company (about 100 people) had no less than 11 scheduled interviews!

Of those, only the first 2 were with people in my department — my manager first, then my manager and immediate coworkers. There was another group call with people in a related team I might conceivably be expected to liason with eventually. Fair enough.

The remaining 8 calls were with leadership in every other division in the company, most of which I would never work with. People with jobs where I don't even know what they do, and I'm sure they had no idea what I do. I just politely made conversation with them and answered their (very general) questions.

Now that I've worked there a while, I have never spoken with these people again, or worked in any way with the teams they oversee.

I've also participated in a few interviews at this company now, from the other end of the Zoom call, and I know how it works: literally every branch of the org chart gets a meeting for every interviewee, regardless of what they're applying for. Everyone has a chance to say "no", but in practice nobody outside the relevant teams is going to exercise that veto, because they are well aware that they are unqualified to judge the candidate's skills, and will never have to work with them anyway.

It's just a big waste of time for everyone involved.


You’ve already identified several ways to improve this. You don’t want to waste the devs’ time so you screen with low tech questions, which are also the only ones the HM is qualified to ask.

(Also, nothing is as expensive to a dev as a manager with too much free time. Spending a little on HR may be a QoL improvement even if we never hire)

I am also exceptionally fond of being a silent party in an interview.

Nobody wants to walk into a room with four people who are all asking questions, but I can learn a lot about people just by watching their interactions. Indeed I learn more about secondary characteristics than the interviewer because they’re wrapped up in the answer, not side comments the candidate makes about development philosophy.

Additionally, it takes less investment in an interview to ride shotgun like this. So jumping from 1 to 2 is not twice as expensive, and it protects you from hiring decisions being made with only one employee having been privy to the conversation. Especially with all of the EEO concerns that come from he said she said situations like this.

Three is the most I would put in a room, and only if two are asking questions and the third only answers them.

But you can still easily get seven people in front of the candidate with only 3 sessions in this way.


Don't forget the need to filter for bias. Many many moons ago, when Google's ATS was young, they didn't weight scores based on the interviewer. After some incredibly confusing low scores and some obviously bad hires, it was determined that there was a need to account for internal bias. That lead to applying weights to the interviewer's score because you still needed them to interview but you also knew that you couldn't trust them outright. More interviewers, more data points and better selection even with accounting for bias.


> These roles pay a huge sum of money, so there's a lot of worry that someone will be hired who doesn't really meet the bar, you know?

No, I don't. Making the wrong hire is costly not because of the total annual compensation, but because of the upfront cost which is realized the moment the employee signs the offer letter.

All the admin stuff.

By your logic you shouldn't fire someone either (at least not that easily) and maybe that's why so many FAANG engineers end up "cruising" because the company is so scared of hiring new talent.


> First: we no longer trust the hiring manager alone, because probably they aren't a strong developer. We instead trust strong developers that are well trained at evaluating good devs. At the same time, we don't want to thrust a dev onto a hiring manager, so they also need to interview you too and have a say.

We decided to ignore this protocol and hired a senior lever manager from IBM. After the next two years, we had an IBM fiefdom. This person hired his IBM buddies, who hired their own IBM talent.

None of these people accepted our culture. It reflected in the organization’s output. Turns out, when you bring in people from these legacy companies where people seemingly coast by and don’t actually produce out, and you have little oversight on what they actually output, it just turns into an inefficient and ineffective mess.

This went on for a while until the entire org was gutted with over half the people fired.


Why not extend this same criterion to the work itself? I mean you can’t really trust that any developer is writing the best code at any given point in time so it would seem at least a minimum of 5 or 6 developers should weigh in on any given pull request. Maybe that is the way it works there idk and probably never will.


It's extremely common to have that many +1's required for a PR that touches several parts of the codebase.

And fixing a bad commit doesn't require 6 months of emotionally draining work.


These roles pay a huge sum of money, so there's a lot of worry that someone will be hired who doesn't really meet the bar, you know?

Except that now of course the practice has been by companies offering roles that don't pay huge sums (and at the end of the day are more or less standard CRUD roles). For the reason you cite at the end of your post


> When I first was an interviewer, I liked everybody!

I've been interviewing for a long time and I _still_ really like everybody. I want everyone to join and even if they're not a fit I want them to join and want us to spend time on bringing them up to speed and nurturing them. Of course I'm aware that an org isn't always able to do that.


Interesting. In medicine they tried to solve this issue by having multiple assessors in the Multi Mini Interview (MMI) [1]. Applicants spend 8-12 minutes with different interviewers in short succession and have a couple minutes to prepare between stations. Each station and assessor has a different question or goal (e.g. critical thinking, communication skills) which are unlinked and it is supposed to remove cumulative biases or the risk of the interview panel having deciding a negative outcome in the first five minutes. It ends up being a lot of behavioural interviewing but seems to work out.

[1] https://students-residents.aamc.org/applying-medical-school/...


What do you think about missing on people who are not desperate enough to go through such processes?


I feel like 7+ interviews is selecting for desperation more than any specific skill or fit. That's still likely to yield decent short/mid-term hires, and if the promotion structure keeps those hires around might be a successful strategy (we will leave the candidate's experience out of value judgement entirely) but it will eliminate an entire class of hires who aren't willing to submit to that amount of free time, energy and expertise for the possibility of future opportunities.


> Is it really fair to have just one or two developers evaluate you?

Output of multiple interviewers are combined by AND'ing, so when any one interviewer has even the slightest hesitation, you are out. Because of this, more is not necessarily better


One main issue I see is that it is a huge difference between FAANG and other companies but everyone seems to do the same as FAANG.

I don't live in the US but I think even different US companies has different needs. Our current problem is that it is very hard to find developers. A small or medium sized company may not get many candidates to interview, the problem then changes from finding the best in a large pool of candidates to finding anyone that can do the job. Scaring people off with 7 interviews would probably get us even fewer candidates.


Why not just do 1-2 interviews with all relevant parties.


> When I first was an interviewer, I liked everybody! I would have hired them all

Probably would have worked out just as well as the current system if not better.


All great points - you obviously condense this into a single day, right?


> "Oh shit, Amazon does 6 interviews? We should do that too!"

Therein lies the problem. Doing things because someone bigger and better is doing it is not the right decision making process


> These roles pay a huge sum of money, so there's a lot of worry that someone will be hired who doesn't really meet the bar, you know?

So do roles in medicine, finance etc. Do they also go through 7 interviews grilling them about material from their bachelor's or asking random logic questions? Why don't we test doctors "problem solving" skills by asking them how many cars are in Manhattan, don't doctors need good problem solving skills?


Well if you want me to invest 5-7 hours of my time you'd better give me some assurances as to why I should do that.


What you just outlined should be a poster definition for 'a slippery slope'.


Sounds like an organizational flaw is behind all of this.


> Can one interview really tell if you're good problem solving, coding, algorithms/data structures, and any specialization the role has?

Sorry, but if it can't, aren't you doing the interview wrong?


They all are doing the interview wrong and everyone knows it. Unfortunately there aren’t a lot of great alternatives that don’t take up even more time.


> They all are doing the interview wrong and everyone knows it

Most countries manage to devise the testing for a driving licence based on - at most - one theory test and one practical test. The practical test typically includes many different situations and manoeuvres in order to assess the candidate's suitabilty for being allowed to drive.

You don't sit a practical driving test in which you consider one single aspect of driving. The test attempts to cover everything. In one test.

Why would one not attempt to devise an interview along the same lines?


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.


> 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.

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...


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.


Its always a Jayden.


living in fear of my name becoming a byword for some unpleasant stereotype person in 20 years

no i'm not telling you what it is :(


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.


That says a lot about the company and nothing about the test. Also 2h is not exactly FizzBuzz territory.


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.


> Want to become a doctor? Study for 12-15 years.

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.


Fun fact: Residencies are modeled on a doctor who dedicated his life to hospital work and routinely worked long shifts with no sign of fatigue.

Turns out he was addicted to cocaine.

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7828946/


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?


maybe they just don't understand the questions.

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.


> maybe they just don't understand the questions.

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...


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.


FizzBuzz is definitely not in the cargo cult category. It is merely extremely popular.

It literally takes a few minutes and is great for weeding bad candidates. It is a win-win for everyone involved.


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.


And how much of that complexity is truly needed? Or is that another one of the lies proferred by its financiers?


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.


In the case of the airplane, it’s essential.


We're not building airplanes though. We're building line-of-business apps -- it's like 80% CRUD


Mediocre people bring mediocrity. Business and management illiteracy among tech people is what allows snake-oil sellers to get a foot inside the door.


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.


Alternative hypothesis: they did hire the correct people, but working there is so unpleasant that very few people decide to stick around.


> 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.


Which means their hiring practices are flawed.


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.


That's how long they can milk the employees with demanding work expectations until the backloaded vesting kicks in.


Maybe they are?


> 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.


If you are hiring someone with 10 years experience it becomes a lot easier. Just try them out, 9/10 will succeed.


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.


I’ve seen way too many “experienced devs” who are terrible coders.


In the end prioritize for the position.

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


This is incredibly insightful, thank you.


I think the OP has a clever concept, and in online discussion that can make an idea unduly appealing to me, but is it really more right?

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.


Hiring manager here. IMO the current tech hiring norms are gross and not sustainable. It feels like a weird hazing ritual and with the current market, is the single biggest reason you can't hire. Why on earth would someone burn a weekend on a take-home test for your startup when they have 15 other irons in the fire? At my current employer we got rid of all that ridiculousness. No take home test. No live coding. We've gotten the whole process down to a few hours over a few days. I'd like to think it's a mutually respectful process.

I think it's time we accept that the person we are talking to is who they say they are on their resume. You don't see accountants balancing books before they get hired. Why should this be any different? If you aren't who you say you are, its either blatantly obvious in the interview or we'll find out when you join and we'll try to correct or part ways. This is like pretty much any other job out there.


> You don't see accountants balancing books before they get hired.

You sure do, and not just by a hiring manager's whim, but by law. Accountants have occupational licensing.

> I think it's time we accept that the person we are talking to is who they say they are on their resume.

This is a straw man, I have never "caught a liar" on an a coding exam. What they are helpful for doing is judging the quality of what it means to be "proficient in [x]".

If there's anything I have learned from giving coding exams to candidates, it's that the ability of a candidate to verbally sell themselves in an interview has a weak correlation to their ability to produce quality work.


> Accountants have occupational licensing.

Forgive my ignorance, but is this during every interview? If I am reading this right this is a certification they'd need to get which would be on their resume. Do they need to re-prove those skills every time?


Sometimes they are even more often, as those licenses often have "continuing education" requirements to keep them active. For example, they expire every two years in California. https://www.calcpa.org/cpa-licensure/renewing-a-cpa-license/...

But no, they don't happen "during interviews". My point is that there's less need to test people during their interviews for occupations with licensing, because they've already been tested before they even showed up for the interview. Depending on where you're at, you can't even legally call yourself an "accountant" without an occupational license. By contrast, anyone can legally call themselves a "software developer" and show up to an interview, which is why the need to evaluate their skills at that moment may be different.


While I see where you are coming from but respectfully disagree with your conclusions.

> My point is that there's less need to test people during their interviews for occupations with licensing, because they've already been tested before they even showed up for the interview.

I mean past job experience and education are pretty good indicators? Is there some facet to the accounting certification process I am unaware of that filters out under performers? If my past few accountants are any indication, then no. :)

All of that aside, I've not seen any data that suggests the hiring practices common in our field produce better outcomes than that which I am evangelizing for. Furthermore, those practices are common FAANG type companies which can offer much higher compensation packages than a typical startup. I assert that it's not only the right thing to do, it is also a _competitive advantage_ to have a streamlined, humane, hiring process.


The problem that I have with judging someone based off job experience (or academic experience) is that I usually have no idea what value that experience is. I am not familiar with most workplaces. When I have an applicant that has "3 years of experience as a senior developer at XYZ Corp", I have no idea how valuable that is. I've never heard of XYZ Corp; I don't know how good their organization's IT department is, nor do I have any idea what would be expected of a senior developer there. For some companies, this might mean 3 years of solving challenging and highly technical engineering problems, leading a team, and functioning as a sales engineer in the field. For others, it might mean they copy and pasted existing legacy code and changed field names for three years while sitting alone in a cube. And depending on how humble the candidate is, and how good their self-marketing skills are, it might be hard to distinguish between the two in an interview. Or, their skills may not be matched to their previous job position.

This is not to say that I think occupational licenses are always an ideal way of handling this: I definitely don't think that. I'm merely using it as an example that testing people's ability in an occupational setting is not uncommon.

> All of that aside, I've not seen any data that suggests the hiring practices common in our field produce better outcomes than that which I am evangelizing for. Furthermore, those practices are common FAANG type companies which can offer much higher compensation packages than a typical startup. I assert that it's not only the right thing to do, it is also a _competitive advantage_ to have a streamlined, humane, hiring process.

I 1000% agree with you here. I think that this can include some coding exercises, but they need to be very limited in time and scope. You are absolutely right that most companies are not FAANG, and should not interview like FAANG. Every coding exercise I give is very limited in scope and is directly relevant to the job position -- never leetcode or other BS.


> continuing education

I have seen examples of this for teachers, doctors, and bankers. It usually did not add any useful skills to the trainee.


This sounds very forward thinking and I like it. Would you be willing to share a bit more on the process? What does it entail? In the past I was hired on just 2 interviews, and all we did was talk as peers. It felt comfortable and honest. It's the reason I said yes to switching positions.


Thanks! So, I'll say that we are still tweaking and trying to get things just right but, as of the time of me writing this, here is the process:

- HR call 30 min.

- Talk to hiring manager (me) 30 min. Get to know each other and feel out if there is a mutual fit.

- Technical panel 1hr. Speak with several engineers on the team who share your discipline (front end or back end for example). Again no live coding. We just talk through stuff.

- Talk to the team PM. 30 min. Get a sense of how you collaborate with our product team partners to build new features in our application.

After that it's the usual comp negotiations, background, and reference checks. Assuming all that works out then hired!

We're hiring so, if anyone is interested in finding out more, contact info is in my bio.


Sorry, but this just sounds very easy to bullshit. Unless you're doing real in depth quizzing of stuff people wouldn't know if they didn't work with it (e.g. in HFT, explaining what a potential implementation of std::string could be and what the tradeoffs of each design choice would be), generic backend principles are very easy to spew correct answers for without actually knowing how to code. How are you going to filter out people that just memorize the concepts for their chosen language and are good at talking but can't code for their life?


> generic backend principles are very easy to spew correct answers for without actually knowing how to code

I'm not sure I agree with this. IMO trying to get someone to explain the ins and outs of a particular facet of the technology your team works in is less effective than getting a sense of how a candidate architects their code and manages complexity. That type of "art more than a science" craftsmanship is not something you can easily fake in my experience. Maybe I'll be proven wrong. We shall see. So far I've had pretty good luck with the approach and gotten some really great teammates.


That's not my experience.

It's almost always obvious whether the candidate really knows their stuff. They go into details, when you ask probing questions they don't revert back to generalities or repeat what they already said.

Where this does not work, however, is interviewing junior developers. They don't really know anything at all yet (well, some do, but again, that's almost always quickly obvious), so you're hiring for potential rather than actual skills.


Yeah you have to use the appropriate strategy for the interviewee. In the case of a junior, you are looking for potential and teachability as you said. You tailor your questions towards that angle. I've yet to see any take home or live coding challenge that answered those type of questions for me. All it told me is what I already knew: they were more junior and needed mentoring.


This is really great and it sounds like an ideal situation for someone interviewing. I wish you guys the best of luck with this process. I will work in my company to push more towards something like this.


We don't do take home, leetcode, live coding either. We walk through past projects and ask very pointed questions. We ask about difficult problems we've faced in the past and how you might solve it. I role play a junior programmer describing a situation I have and then ask junior programmer level questions of how to solve the problem. You get to talk to two very senior software developers, and two very senior engineers in other roles, and the CEO (who is also highly technical).

Once you get past the first screening call, I find you on social media, blogs, forums and read your posts, and see what questions you're asking on stackoverflow. Then we might move you to the next stage. All in all, you get a pre-screening from our recruiter (about 15 to 30 minutes), a screening call from a technical hiring manager (30 minutes), and then you talk three or four principal engineers (45 minutes each). This happens in days.

The only person that doesn't talk to you that is highly technical will be the recruiter. If you're hired and start work, we watch what you're doing, mentor as necessary. If you have the right attitude and are coachable, so long as you can string together coherent lines of code then everything else can be taught.


> Once you get past the first screening call, I find you on social media, blogs, forums and read your posts, and see what questions you're asking on stackoverflow.

And what if my social media presence is minimal or not public?


It is possible that a candidate's social media presence is minimal or non-public, and that will lead to a dead end. But are you claiming that _your_ social media presence is minimal or non-public? Candidates are applying with their real names and a work history; not to sound creepy but they become very "findable" with that information. And I use that to judge "does this person know what he's talking about when it comes to his job?"

I know you are a web developer, full stack but with a slant towards backend, like the Jetbrains applications, run a Thinkpad with Windows OS, have a beard (by your own admission), possibly live in a Nordic country but I don't think you are from there (UK I think, London area, or at least lived in London, or you live in the far North of Scotland or London has been a bit dark this year), are in your late 50's or early 60's, have a small family, like noisy keyboards, dislike Vim, absolutely loathe "Fn" keys, own a Mac that you ocassionally use, enjoyed Star Trek: TOS, run Android on a Samsung Galaxy (S3, Nexus 5, S10). You didn't wait for your resin in your table to reach flashover point. Found your reddit account, your stackoverflow, your github, and your abandoned twitter account, looks like you purged your Facebook account but didn't delete it. I am pretty sure you used to skateboard, enjoy riding a fixie bike and photography, possibly did some rock climbing in your youth. I may be off on some of the details, I only spent 20 minutes on it. Of course, I might be connecting two different sets of data points about two different people.

Over-sized coloured mice are very clever if they can build the CMS for a real estate agent.

My point is, people are "findable."

Update: Pretty sure I found your LinkedIn.


It was a hypothetical question about whether you have plan B for when you do not find applicants presence in the social media to be enough to draw conclusions but you answered that now. I would consider most of these thing that you listed to have nothing to do with professional aptitude but the fact you took time to go through the process with random dude on the internet for some reason and then deemed these things important enough to list here speaks volumes about you.


Thank you, it does speak volumes about me, but I am not taking it as the insult you think it is. You were trying to be clever by asking a question about "oh, but what if the person doesn't have much of a social media presence or makes it private?" And I proved that if you have a social media presence of any kind, it is easily discernable and those private little comments we all make when we think nobody is listening tells me whether I would want to work with them. Those things have nothing to do with professional aptitude, but you'd be surprised just how toxic some people can be in their private moments.

I deemed the points listed important enough to list here to indicate that you are findable, even when you think you're not. I was also careful about not just saying you're "X that works at company Y" with a bunch of links. Based on what I have read I think you are a competent, level-headed, well-rounded and reasonable person with strong opinions about what you want from your technology with a willingness to compromise. You're also an exceptionally competent developer and team lead and I wouldn't hesitate to hire you.

A social media presence, even when we don't want people to see it, can either accelerate the point to hire or the cut the interview short. I don't look to see if someone does drugs, binge drinks alcohol, enjoys going to fringe fandom conventions or spends their income on collectible dolls. I care that the person we're interviewing isn't expressing undesirable opinions about people of colour, sexual orientation or many other aspects that would bring undesirable prejudices in to the team.

Based on what I've read, your interview would consist of "when can you start?"

Regarding a "plan B" for no social media presence at all, then the interview process becomes much lengthier and more difficult for all involved.


This is the right way to go. If I were looking for a job right now I'd be hitting you up. I've said as much in a few other threads but it's not only the right thing to do, its a competitive advantage.


So you screen out everyone who cares about their online privacy?


No, an online presence can either accelerate the interview process or cut it short. No online presence extends the process and makes me leary of making a bad hire, so I'm looking for tells in a weak signal source of an in-person interview where someone adopts a persona to get the job.

I've had to interview a candidate where I am literally handed the resume and said "can you take over? blahblahblah had to ditch." which is unprofessional but you do what you have to do. I walk in, sit with the candidate for about, maybe ten minutes total, whilst I am poking into his online presence and explaining what I am doing, whilst my colleague grills him on various aspects. After ten minutes I write on the resume "Hire this guy before someone else does", thanked the candidate for his time, explained that my colleague would take over, and politely left the interview. Poor guy thought he'd failed the interview. I will admit I handled that aspect of it badly. We made him an offer within the hour. He was an absolutely fantastic hire.

I've also looked at many social media posts by candidates and then put a strong "NO HIRE!" on their application. It isn't about skillset or education or capability, but there are things that people say on social media, in unguarded moments that make them unhirable in a modern work environment due to prejudices and their willingness to express those prejudices.

You should absolutely care about your online privacy. I have made myself "very findable" and if you go through any of my social media posts, you might take umbrage at some things I say (especially about recruiters), but I try to be a cross between Mr Rogers and Ted Lasso. If Mr Rogers said "F*K" an awful lot. I might think some things in the private thoughts of my own head, and thank goodness those aren't automatically transcribed by Google or Siri at this time, but when it comes to posting some very disparaging things in public, some people cannot help themselves and that can tell us whether those thoughts might spill over in the workplace as hidden prejudice or overtly expressed that would land the company in legal hot water.


> I think it's time we accept that the person we are talking to is who they say they are on their resume.

Yea because we live in a place where everyone is super honest and no one is going to try and take advantage of that to make 500k a year.

IMO, it doesn't work. Talk is cheap.

I wouldn't have a job if I had to talk my way into any company, I'm an introvert, I suck at communicating orally. But I can solve problems and write really good code. You throw problems at me during an interview and I'll solve them. Ultimately your company's code is not going to write itself.


>Yea because we live in a place where everyone is super honest and no one is going to try and take advantage of that to make 500k a year.

I would be THRILLED if I was put into some kind of a short probationary period, with limited access (and potentially restricted salary, with retroactive reimbursement) while I showed what I was worth. I personally have a hard time demonstrating that in short interviews, and it's only once I come in contact with the shape of the company's problems do I show my value. Imo it would lower the stress and paranoia on both sides over a candidate's fit.


That can work for some, but imagine you already have a job, and time commitments, and it takes 5-10 companies to find a fit.

Spending ~1-2 months is expensive.


If a company temporarily paid higher salary and covered your health insurance during this probationary period to account for the risk, I'd go for it. Otherwise, never.


> Yea because we live in a place where everyone is super honest and no one is going to try and take advantage of that to make 500k a year.

You are right that there is more risk with this approach. I honestly think that its a better, more humane way to do things though. Anecdotally, I've hired a couple _really_ solid developers via this methodology. At least in my case, it's been working out well. As always, you try stuff and iterate.

> I'm an introvert, I suck at communicating orally.

I get it. So am I. Its actually very hard for me to reply to these comments b/c of my general aversion to putting myself out there! I don't think there's a one size fits all solution. At my company at least, being able to communicate effectively both orally and written, is important. We do a lot of pairing and documentation etc. Thats not for everyone. YMMV.


Writing code is not everything. You're going to work with a team, deal with managers, go to meetings, discuss and brainstorm ideas.

Lack of communication skills is a bug not a feature.


Do all that without writing decent code and you still have nothing to show.

> Lack of communication skills is a bug not a feature.

A bug I'm willing to take in exchange of producing high quality code. Besides, we live in 2022 now, we can type. I just said I suck at talking not at communicating. There are multiples forms of communication which don't involve opening your mouth.


Interviews for other occupations are way way worse.


Going through a few days of grueling interviews every few years is vastly preferable to spending a few years working alongside people who can't pull their own weight. Hiring managers are timid about letting people go and it can take an extraordinary amount of time to part ways with unproductive people.


> Hiring managers are timid about letting people go and it can take an extraordinary amount of time to part ways with unproductive people.

With respect, it sounds like you had a bad manager. Underperforming teammates are your managers responsibility. They should be working to address that issue with said teammate or part ways. Sucks. Not fun. It's the job though.


Sorry but your response is a No True Scotsman argument. It is understandable why irrational behavior applies here - sunk cost, nobody wants to have the bad news of letting a new hire go, explicit objective setting may require there to be new hires. These will generally apply to any manager. Unless the new hire is clearly stepping out of bounds or extremely negligent, it is going to be a slow process.


You seem to be aware it is irrational. Let poor developers go if they do not improve with training.


Most tech companies now do around 4-5 interviews. It has been like that for at least 7-8 years (probably more) but I just found out that not all companies are like that. After being subjected to these demeaning Leetcoding interviews I went through a refreshingly pleasant experience. It was an interview with just one person. They gave me a technical open-ended problem and two weeks time. After two weeks I had to do a presentation to them how I would solve that problem. Not much more was required. I could choose to do as little or as much as I'd like. I did have to spend around 30 hours researching that problem as it was an unfamiliar problem space for me. The presentation was just 1 hour session with the hiring manager where he and I had a technical discussion about my solution. No more interviews of any kind (not even behavioral). I had an offer three days later. I thanked the manager for his meaningful and humane interview process. I can't believe I have wasted hundreds of hours doing LeetCode when there are companies out there that treat candidates respectfully rather than code churning machines.


I would argue that 30 hours invested in interviewing at a single company is a lot more work than you put in doing a couple phone screens and a one-day onsite. I personally abhor take-home projects because they tend to balloon in scope (I'm a perfectionist and want to put the best foot forward). With an on-site loop, when you're done you're done.


After going through the process of 5 interviews across multiple companies, I would much rather be given an open ended question and do a 1 hour presentation. I am so tired of going into a technical not knowing which leetcode question I have to memorize.

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.


> I actually got stuck at an interview because I forgot the nlogn solution for two sums. Absurd!

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.


No. Sort the array. Then use two indexes, one on each side of the array. Increment indexes to meet in the middle.

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.


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."


> 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.

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:

  def has_2sum(lst, target):
    # returns whether there are 2 (not necessarily distinct) elements in `lst` which sum to target
    for a in lst:
      for b in lst:
        if a + b == target: return True
    return False
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.

  def has_2sum(lst, target):
    for a in lst:
      for b in lst:
        if b == target - a: return True
    return False
Third principle is pattern recognition for common functions: the code is equivalent to

  def has_2sum(lst, target):
    for a in lst:
      return (target - a) in lst
Fourth principle is to know which data structures support membership query. If you thought of hashtables, you get the O(N) solution.

  def has_2sum(lst, target):
    set_lst = set(lst)
    for a in lst:
      return (target - a) in set_lst
If you thought of sorted list, you get an O(N log N) solution.

  import bisect
  def has_2sum(lst, target):
    sort(lst)
    def contains(x):
      # equivalent to `x in lst`
      i = bisect.bisect_left(lst, x)
      return (0 <= i < len(lst)) and (lst[i] == x)
    for a in lst:
      return contains(target - a)
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...)


But why didn't you use the O(n) solution instead of the O(n log n) solution?


To be honest, I had forgotten the O(n) solution and vaguely remembered the nlogn solution. After that experience, I have both solutions lodged in my brain.


I suppose if you had to optimize for least space used sorting in place and doing it they way they suggested would be best.


30 might be too much but it also depends somewhat on the probability of success. 100 hrs practicing leetcode + systems design for a 2% chance at a FAANG seems a worse trade off than 30hrs researching an interesting subject for a presentation with an 80% chance of success. Problem is you don’t know what your chances are with the latter going in but I think it would be a fair question to ask.


I lean towards the status quo of one day interviews. But I liked how you considered probably of success as a consideration.

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.


I got the 2% from a presentation by a company in the business of prepping people for FAANG interviews, the actual number could be higher but I was just trying to make a point about relative probabilities.


Ahhh, I believe that 2% of people apply might get the job possibly. To me that's a question of a challenging applicant pool.

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.


I’ve made it to both Google and Facebook onsights. I still have no clue what my chances were going in but got rejected both times. If you get through leetcode then you can get an onsight but that’s when they actually attempt to measure competency with a system design interview. Which is fine but I’d rather they just front load the interview with it than my chances of getting to an on-site be left up to whether I happen to suss out the aha solution to any random leetcode problem (while I’m trying to explain my thought process of course).


It might be 2% or even lower hire-rate-to-applications, but your set isn't all applications but those who put in a 100 hours of leetcode prep; that I bet is much higher than 2% into faangs.


Yet don’t forget the additional double standard of you needing a full-time job or that looks bad, and so where do these hours magically spring from?


I agree and initially I refused but the problem space was interesting and I wanted to get in it so I did it.


Yeah, a valid philosophy is that a company should have to spend at least as many man-hours interviewing me as I spend interviewing.


How would you feel if they offered compensation, say for your 30 hrs?


If compensation was offered for an interview process, then it's worth the time spent going through the interviews.

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.


I do IT so I'm not an elite member of society like most of the devs here. But I had an org give me some homework that was solving a problem they actively needed fixed. I took a job with a different company (still had like 5 or 6 interviews for that place but no 12 hours of homework) because it felt gross to be doing 'free' work for them.


I got my last 3 jobs after half an hour conversation with the lead/CTO. I'm not a "rockstar" either, just average dev. When companies are desperate to hire they don't dragg ass with infinite interviews. Of course, SV gravy train doesn't fall in that category.


I went through a similar experience with a radically different outcome. I was given a coding assignment and one week to finish it. I spent more than 30 hours on it and came up with a solution that was supposedly 500 times faster that what they'd ever seen (they told me this later). But things took a wrong turn at that point. In the followup meeting the interviewer turned out to be rude, disruptive, and combative. He tried to grill me on every little thing I said and finally rejected me. I have no idea how it happened but I suspect they simply thought my solution to the take-home assignment was too good to be mine.


Or discrimination. You never know, maybe you worked with his former boss, it could be anything.


Totally.

Or the interviewer felt insecure and threatened by their competence. If that's the case, they dodged a bullet.


Yes, I thought about both possibilities (discrimination and insecurity) but I want to remain positive and not attribute ulterior motives to the interviewer. It was an ironic experience though because, I believe, had my code been a bit slower I would have had a better shot at the interview.


Damn, yeah that is a pretty ironic possibility.

Either way, I hope you've found a good place to share your skills since that experience. Wishing you the best


I was interviewing with companies last Fall and got a homework assignment project where I could pick from 3 different problems. I am not big on companies giving me 30 minutes and expecting hours of investment in return but I figured I would look into these problems to see if they were worth solving.

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.


> I literally copied the questions verbatim into a search and found the solution to all 3 all over GitHub in multiple languages.

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).


My cynical take is that this company views development as a combination of basic coding skills plus the ability to find solutions on stack overflow. Maybe it’s exactly what they were evaluating.


It’s the same situation with leetcode questions. The only difference with leetcode is that you don’t know the exact questions in advance but you roughly have the total set of questions that could be asked. Complete with solutions, YouTube tutorials, and discussion threads.


> Most tech companies now do around 4-5 interviews. [...] After being subjected to these demeaning Leetcoding interviews I went through a refreshingly pleasant experience. It was an interview with just one person. They gave me a technical open-ended problem and two weeks time. [...] I did have to spend around 30 hours researching that problem as it was an unfamiliar problem space for me.

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.


The company said you can spend as much time as you'd like. So if you're ok with two rounds of leet code for two hours, why not just do one hour and the one hour presentation?


If you don't mind me asking could you share the company, assuming they want frontend or fullstack JS/TS node/react/* engineers with 15 years experience? (email is in bio). I'm about to go through the process and the thought of solving leet code over zoom with fresh grads is keeping me at my current place which I've outgrown.

I love these take homes with discussions/presentations but companies keep insisting on the zoom coding over google docs route.


Definitely longer than 7-8 years. The current process has been in place at least 20 years, and maybe longer (but my memory only goes that far).


These companies do exist but finding them amongst the sea of leetcode ones is a challenge.


It's been like that since the 1990's.


Too many people got into this industry, and too many people were able to easily switch between companies and boost their salaries absurd amounts. The big boys decided to use interview grinds to reduce turnover (that's why they all more or less have the same process) and all the people who started companies and came from these companies have been through and assume this process works due to the success of the big boys and they themselves being subjected to it.

The reality is this profession isn't that hard, and majority of people working in it are pretty much just plumbers using the innovations of true computer scientists.

We've managed to created a much more inefficient gatekeeping mechanism than just creating a proper certification process and commended ourselves for it and pretend it's somehow more meritocratic than just getting a comp sci/eng degree and license.


This I suspect is the real answer. Arguably better code was being written prior to leetcode interviews being introduced


I've built international teams, technical and otherwise, for 20 years and the reality is that unless you are hiring for an extremely specific role with extremely specific requirements, which is almost never the case in reality, any more than 3 interviews is a waste of time. Two within the same team, if relevant, one outside the team.

Furthermore, evaluating anything other than "Do you want to work with this person?" (on a scale of "I'll quit if you hire them" to "I'll quit if you don't hire them") is a waste of time.

But, as you see, people absolutely adore wasting their time and yours, as if no one has anything better to do.

Hire people that your people want to work with. Put them to work and see how it goes. Let go of people that didn't work out. There is no further secret sauce for hiring in nearly every ordinary circumstance.

IMO.


I'm curious if local law changes your calculations. Do you feel the process should be the same regardless of how easy it is to let people go?


They are trying to find candidates that won't quit once subjected to micromanagement and a culture of constant fire drills, etc.

A proxy for that kind of tolerance is whether the candidate will jump through an inordinate number of hoops while being hazed by future coworkers.


seems extremely plausible, for sure.


I'm not sure why part time contract style "interviews" aren't more common.

If I ever got into a situation where I was hiring, it would start with a 2 hour conversation. No coding questions. I want to get to know you and also talk shop about applicable technologies.

Then after that is simple. I would hire you to do 5-30 hours of contract work where we pair program on real life things. The interviewer would do the driving to eliminate large amounts of ramp up time. This could be anything from R&D to implementing something real that'll ship to production. This would be paid work of course and the schedule would be based on the interviewee's availability, hopefully at least a few hours a day. The duration depends on how well of a match they are, a better match would have more hours just to filter things over a longer sample size.

The person pairing with them (a currently employed dev / tech lead / CTO, etc.) would be doing this work anyways so it's not a time sink, as opposed to them stopping their "real" work to do 5 technical interviews.

I'm guessing this would give both a good assessment of how the interviewee thinks through problems and you can get a good sense of where they're at technically. Also you get to see how well you mesh together from a "do I want to work with this person every day?" standpoint. It's also super low risk for the company because you don't need to go through the entire costly hiring process up front. It also lets the person interviewing for the job get a better sense of what it'll be like to really work there.

It's a win / win. Why isn't this more popular?


> I would hire you to do 30 hours of contract work where we pair program on real life things.

You say this as if most (or any) candidates could do this.

If you currently have a job, then you almost certainly won't have time for this, unless you're single with no hobbies. If you do have time, you may not be allowed to moonlight under your current employment contract.

And if you don't have a job, you _still_ may not have the time or desire to do this!

I'm currently jobless (by choice - I wanted a break) and I started interviewing a few weeks ago. It's exhausting! Even if I could squeeze in 30 hours of work over a couple of weeks, I wouldn't want to. I had 11.5 hours of interviews this past week, and now you want me to spend another 10-15 hours pair programming with you? Absolutely not.

If you spread those hours out over many weeks (6 weeks at 5 hours per week) the candidate will be done with the process everywhere else much sooner and they'll just accept an offer before this process finishes.

If you want a trial period, make an offer and have a 3-month probation period during which you will give the new hire regular feedback (at least once a month but more often is better). Doesn't every company do this already, at least implicitly?


Do you generally have this mindset because you are very successful or is there another track record element I'm missing? I don't recognize the username and wanted to understand your response better.


I don't understand this response? This is going to be the standard mindset for any experienced engineer in the Bay area, at minimum.


Yes, to echo the other response, I don't think my mindset is unusual. What you're suggesting is too much for most candidates.

Also, it's a candidate's market right now, at least for experienced devs like myself. I'm getting a good amount of interest in my applications and nowhere I've applied has asked for anything close to 30 hours of my time (5-7 hours total is typical).


This comes up routinely. The answer that continues to be true is that if you want to hire talented developers, nobody would agree to this process.

You have to understand that, as an employer in the current market, you do not really hold any of the cards if you want to hire talented developers.

It's not a win/win. Nobody with options is going to accept multiple weeks of limbo in exchange for maybe having a job.


> Nobody with options is going to accept multiple weeks of limbo in exchange for maybe having a job.

Let's say it does take 2 weeks to do 20 hours (2 hours a day), you would be compensated $4,000 for working 2 hours a day. Or if you're in between jobs you would have the time to do 20-30 hours in about 1 week and get paid $200 / hour.

I guess I'm just picky. I did freelance work for ~20 years and worked on 1 contract very part time for 2 years before deciding I wanted to try something new and work there full time. There was no interview process, I just signed a document and that was it.

I couldn't ever in a million years think about joining up at a place based on a few short interviews where 90% of the time is answering their interview questions. As someone who would be hired I really care about what I would be doing most days and what it's like to work there. Of course salary, benefits, TC, etc. is all important too but those are only numbers in the end.

I think this short contracting approach looks out more so for the interviewee. This "talented developer" can now pick and choose based on really knowing what it'll be like instead of hoping it's decent based on a couple of interviews.

I would have thought a highly talented person isn't concerned about jumping between interviews, getting hired, quitting after 3 weeks because it's not a good fit and repeating the process until they find a good match. Am I just way off base here? Do most folks bounce between jobs every few weeks (going through 5-7 interviews per job) until they find something they like?


> I would have thought a highly talented person isn't concerned about jumping between interviews, getting hired, quitting after 3 weeks because it's not a good fit and repeating the process until they find a good match. Am I just way off base here?

Way off base, in my experience. The vast majority of highly talented developers are rarely, if ever, actually on the market. They have multiple competing offers before ever walking out the door of their previous employer. There is no way they’re going to spend 30 hours of their time on maybe getting an offer from you. It doesn’t even matter if you pay them for it. Why would I take $4000 for maybe getting an offer, when I’m already deciding between multiple guaranteed offers? It’s just a huge waste of my time.

More importantly though, this process is strongly biased towards young, single people with no hobbies. You’ll likely never get a parent to commit to this kind of interview, because when I’m not working I’d much rather be spending that time with my family. Additionally, as a parent I’m concerned about stability because other people depending on me for food and shelter. Yanking me around for several weeks or months on a probationary period after which you can fire me even if I was doing everything great just screams amateurish to me. You’re not taking my employment seriously, so I’d rather go with one of the four offers already in hand.


My employer requires approval for any outside work. Every prior company except for a few early stage startups did as well.

I would not be able to moonlight to interview contract. I wouldn’t quit my current job for this.

This is great for unemployed people who don’t have offers from companies that hire without this process. It’s fantastic for people who suck and can’t find work and would love to futz around in these paid interviews for a few thousand.


Dude, no Bay Area engineer will take this deal. $200/hr is $100/hr in real post tax income. This is competitive with bartending on a Friday night.

If you’re not at $500/hr you’re not even competitive. You can be at $300/hr if you’re guaranteeing the job for a year but if it’s a one off you have to start way higher than that.

But free time is more precious. I’d target $1k/hr to play. I think break even is probably slightly less but not much.

For $200/hr I’d rather spend the time on my own life.


> For $200/hr I’d rather spend the time on my own life.

The alternative is spending 7-12 hours doing 5-7 technical interviews for $0.


No, the alternative is having a full time job (where you'd probably get paid more) and then quitting/switching after one has an offer.


Then quitting/switching after one has an offer.

Which you presumably get without interviewing? That seems to be what you seem to be saying here.


I got my last job with 5 h. And honestly, I’d rather do 7 h as an interview than 20 h over 2 w for $200/hr. I’m just thinking about this and the thought just makes me feel so bleh.

I think it’s the liability it incurs. A two week commitment. I just can’t see doing it for $4k. It’s just not worth it.

It’s like 4 calls for 4 hours on a consulting platform. Instead of 4 h I have to spend 20 h and spread over 2 w. This kills me.


> I think it’s the liability it incurs. A two week commitment. I just can’t see doing it for $4k. It’s just not worth it.

In my opinion it's the opposite of a liability. You're getting practical experience to know what it'll be like to work at that place. More hours ends up being better because each hour you put in gives you more information. It's an opportunity to see how things are run, get to know the team (if you pair'd with a few different people), get a feel for what you'll be doing, etc..

If you're worried about a 2 week commitment how are you not worried about general W2 employment where it's expected you'll be committing 40 hours a week until you either retire or die? The same applies for most 1099 contracts too where chances are you'll be putting in multiple weeks or months to complete a task.


I’m trying to feel out why it bothers me and I think it’s because:

- I will probably exit an interview process in an hour if the company isn’t a good fit

- We’re not talking about normal employment here. This is in addition to my job.


You'd be able to exit the process if it's not a good fit using this method too. Perhaps even during an initial call before there's any type of contract mentioned.

Going for interviews while you're currently employed is also in addition to your job. It's just you're doing "real world" things in the contract based interview instead of answering technical questions or whiteboarding implementations.


Would that be fun? I’m thinking of the idea here and it just sounds like such a chore to me. At least whiteboard interviews are fun.

Setting up your IDE and all that boring stuff.

But you know what, man, maybe I’m just status quo biasing and it would be better. I can’t nail down why I don’t like it after all.


$200/hr is $100/hr in real post tax income. This is competitive with bartending on a Friday night.

A lot of fibbing and stretching going on in these snippets, here.


If you post a job and get 600 applicants, are you going to offer all 600 of them this gig? If not, how do you filter that down to a more reasonable number (say 3-5)? Whatever you do, that is your interview process.


The initial pre-contract ~2 hour call would filter people out.

You can learn a ton about someone after generally chatting with them for 2 hours while staying decently focused on tech. People who are good at only talking can't bs their way through a type of call that's similar to how 2 folks might talk shop in a private conversation or a podcast. You can also get a good sense of how they think, how they act, how they think of others, etc.. In my opinion this is a much better initial filter than the usual interview questions.


This answer lacks a lot of imagination.

I have successfully used this hiring method. To say "nobody with options would do this" is patently false. In fact, it can be a great way to get in with people who have a LOT of options, but they aren't sure they want to work for YOU.

Every single time I've used this hiring method, I've gotten some of the best developers I've known. They weren't even looking for a job at the time. They just wanted to hustle a few extra hours to make some play money. I'd give them as much work as they wanted. Some of them stuck to just a few hours a week. Some decided they liked the project enough they wanted to do more.


I don't mean to be rude but that just doesn't compute at all. I've worked with a lot of devs (both at FAANG and outside) that I'd consider some of the best in the world. And absolutely none of them ever "wanted to hustle a few extra hours to make some play money". They all made ridiculous money hand over foot and highly valued their free time.

It may be more likely you've hit a local maxima in your hiring system and attract the same type. It's great that this system works for you to hire people that you're looking for, but this definitely would not fly for devs with any semblance of an option.


Most interviewees already have a full time job, and your existing employees don’t want to spend their evening hours pair programming with a candidate. So this doesn’t scale at all.

However, this is exactly what I did to hire the first few employees of my startup, because those initial hires are really critical. I was willing to limit my choices and take more time in order to avoid false positives. Also, that was ten years ago in a somewhat less crazy job market.


The problem with this approach is that any real task requires a lot of internal knowledge (functional and technical) of the system which an outside candidate will not have. The pairing employee will have lots of it though and it is likely the candidate will appear inadequate even if the employee is aware of the internal knowledge difference. It is not straightforward to be productive on an alien code base from the get go.


I can't imagine this to be true for the vast majority of web/sass companies. Even if there is a lot of knowledge, there are so many areas of the code with technical debt that could just be "How would you refactor this code. Here is how it works." or "This is a small error that needs to be handled. Here is how it works. How would you handle it?"


> I can't imagine this to be true for the vast majority of web/sass companies

I entirely disagree with this except for the most trivial things you describe. And for those trivial things, does your company just have a never ending list of these things which are not fixed. Feels like you go through 2 candidates (60 hours) and that backlog is now cleared.


I find it hard to believe that most web/sass companies are not doing the same kinds of queries to the database, consuming stripe APIs the same way, or adding a job to a queue in similar fashion. I think this is true even in the open source world. Any senior dev should be able to pair with someone knowledgeable and provide value, with the exception of very technical code bases. Most web/sass companies do not have very technical code bases.

I would give the same bug to all the candidates for baseline purposes.


In 2012 a Google recruiter told me the got 1 million applications a year. I'm guessing that number is higher in 2022 and it's similar for other similar companies. You can't give 1 million applicants 5-30 hours of contract work. You still need some process to select a few of them. What would that process be?


Nobody said you needed to give contract work to everyone and their dog, or that it was specifically a great idea if you're big enough to get a million applications (proverbially or literally).

If it's clearly not a good fit then this wouldn't be offered. If you are doubting then this could be a good way to make a decision with the most information you could possibly have, low risk for the company, the applicant gets paid when they might otherwise be between jobs... there are the caveats mentioned in sibling threads, but in some cases, yeah I can see this being a good idea.

We recently rejected someone and I still think that was the right decision, but there is still a chance it wasn't. I wouldn't have minded giving them some contract work to find out if they were competent and just terrible at showing it in an interview. I didn't realise this was even an option. Though in this case it probably wouldn't have worked out due to them currently having a job.


It might be low risk for the company, but it’s not low risk for anyone who already has a job that they want to keep until they find a new one. You can’t take a week of vacation for a bunch of companies.

It would work for people without a job or contractors, but in the latter case, they probably are looking for contract work not W2 employment, so you’d be better off with contract-to-hire.


because people don't have time to do a job and a half, so you'll be selecting for people with copious free time or will to spend the few they have working for you.

Works great for students or people unemployed or just graduated, not so much for older people with e.g. a family.


Most people with jobs probably can’t devote 5-30 hours to contract work during the workday. Plus most employment contracts won’t allow this kind of side gig.


>Then after that is simple. I would hire you to do 5-30 hours of contract work where we pair program on real life things.

So they have to be unemployed while interviewing with you? Companies these day seem to be completely oblivious to the candidate already having a job but it's usually the case.

Other than that it doesn't sound bad, but it's kind of a big problem.


> So they have to be unemployed while interviewing with you?

If you're doing 5-7 normal interviews that could end up being 5-15 hours worth of interviews. The time issue is shared with both styles of interviews.

I know I said 5-30 for contracting but at this point if you're doing 15 hours of normal interviews it's not really much different to do 20 or 30 hours of contract interviews. It's just a longer process, which IMO is beneficial because you (as the person being interviewed) get to see a better picture of what it's like there. Plus this 30 hours isn't set in stone, maybe after 5 or 10 hours you find out you're a perfect match and now it's the same time as standard interviews except you've gotten paid for it too.


Not a chance. I don’t want to be a freelance interviewer and this sounds exhausting. I need a job and to move on with my life.


Its a good idea but the thing about big orgs is you aren’t paying the big bucks for 99% of the labor, you’re paying because the one day the developer has to make a decision that does impact something at scale or in the hot path they don’t fuck up.

The differentiation between good and great doesn’t come into play on the average workday.


Are you going to pay me $250/hr for that time? If not, why would I spend 30 hours of my life vying for a chance for a full time job with your company? And what about my current job?


Those are some high standards, you value your time at 250×8×5×52= half a million a year?

I don't disagree that 30 hours is way over the top for an interview question unless you happen to find it as much fun as <insert your favorite hobby>, or if it's somehow usefully spent time for other reasons, but your response seems to be at an equally extreme end of the spectrum.


This isn't a guaranteed full time job. For all intents and purposes, it's a short term contract with very little notice. Dev time is like anything else, if you buy in bulk (say... 2000 hours a year) and on a regular schedule, you can get some pretty good discounts.

I'm in the mid-west, and that's a little under my rate for short-term low-notice (read: emergency) contract work. I can't imagine anyone on either of the coasts is going to jump at it.


> I can't imagine anyone on either of the coasts is going to jump at it.

So for clarity, they will jump to do 10 hours for 5-7 technical interviews at $0 but won't do 10 hours of paid contracting work where they get $2,000?

I can't speak for anyone other than myself but $200 / hour is pretty damn competitive for any contract work no matter where you live. That's $192,000 a year if you put in 20 hours a week (half the normal 40 hours that most folks put in). I wouldn't classify this as emergency work either. You're getting notified of a contracting opportunity in the form of an interview.

I spent ~20 years doing contract work. If someone messaged me on Wednesday, unless I'm really busy chances are I could start working with them the upcoming Monday. Sometimes I do find myself booked for weeks or months but if someone comes to me for an oddball job where I know it's only 5-15 hours of work and they're cool with me only putting in 1-2 hours a day then I can almost always find time to do it, even when I'm at near max "comfortable" capacity (~40 hours of contracting work a week).


> So for clarity, they will jump to do 10 hours for 5-7 technical interviews at $0 but won't do 10 hours of paid contracting work where they get $2,000?

It's a 30 hour contract, or at least the comment I was reading said that.

I would. I can just stop showing up to interviews if I don't like the company via the normal interview process. Once I agree to a contract, I have to do the whole thing (I take my contracts fairly seriously).

> That's $192,000 a year if you put in 20 hours a week (half the normal 40 hours that most folks put in).

192k presumably 1099 work. Which is roughly equal to 95k W2 work. Even with that it's not the same. They aren't offering me a guaranteed 20 hours a week of work ever week for a year. If they were, that might be something I would take (unless I particularly disliked the company for some reason).

Extrapolating out a short term contract to full or part time work is dishonest, it ignores all the work you have to put in to find that many short term contracts (lowering your effective hourly rate).


An average FAANG SWE (l4-l5 equivalent across all including msft) is pulling in 250-400K salaried. Convert that to hourly corp-to-corp rates and yeah you're looking at a billable rate of 200/hr or more for a lot of potential hires.


Turn the table. How would you feel about your employees doing work for someone else on the side? I know some people are cool with their employees moonlighting, but I'm pretty sure it's still a minority.


> Turn the table. How would you feel about your employees doing work for someone else on the side?

The alternative isn't much better. The current standard interview process leaves your employees going behind your back to interview for jobs with better compensation and the moment one of those offers materializes they put in their 2 weeks notice without blinking an eye.


People have jobs and lives. The only people this gets are unemployed and self employed people who have nothing to lose or the time to spare. This strategy poaches nobody of worth with an ounce of self respect.


In addition to the obstacles others have mentioned, accounting for contract work creates extra nuisance at tax time. A tiny gig like you describe sounds like a lot of hassle for not a lot of money.


You're describing an internship, but one where (a) the intern gets that much attention than normal, and (b) someone experienced is doing an internship.


Well I can say in my experience firing people is such a pain nowadays that I feel a need to be a lot more careful in hiring. I've seen a bit more than half of fired employees come back with some form of discrimination lawsuit threat after being fired.


This is my answer as well. The two rational pairings are:

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.


Managers should be honing the hiring process. If your team is clear about what they're looking for and thoughtful about how to get at it, you should be able to figure out if a candidate is a good team and technical fit in a couple of hours.


Not really. You can do your best to figure it out, but (almost) every single candidate will be trying to game the interview to get hired at all costs. No matter if I'm interested in the job or just treating it as a throwaway practice interview, I will always say exactly what I think the interviewer wants to hear in order to hire me. This doesn't necessarily correlate with what will actually happen in reality.


Perhaps. But even with the current 6+ hours everyone medium size or larger still makes a fair number of bad hires. Between driving the false positive rate down and driving the time to decision down the value maximizing next move seems to be spending even more effort on the false positive rate.


It's a false assumption to assume that more interviews is going to drive the false positive rate down. Increased volume or difficulty are not the keys to driving the false positive rate down. Better preparation is the key to driving the false positive rate down. Your team has to be crystal clear about what they are looking for in a candidate. That will allow you to create better job descriptions and create better interview questions and processes.

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.


Maybe this is the honed hiring process.


Choice two: get a job


Can't comment on the lawsuit part, but of the handful of people who were "it's an open secret you need to work around them" bad, only 1 was fired. Even if they can be convinced to leave, they'll usually stay through their next annual bonus (which I don't fault them for, even if I fault them for other things). So, starting from the point where it's obvious they need to go, everyone who depends on their role needs to wait at least half a year before they can start looking for a replacement. It's a ton of damage, especially on smaller teams.


Paradoxically enough, that sounds like a warning against hiring anyone but white males, the only group that can't credibly claim discrimination.


Unless they’re old or gay


Good call! (Edit: or young!)


My understanding is that in most states, you can legally discriminate against younger candidates.


I dunno, the rise of whole jobs specifically for increasing "diversity" which increasingly seeming to be "anybody but white males" the lawsuit criteria is starting to seem credible. If the company has one of those positions with any authority it's at least circumstantial evidence.


Protected groups in the US extend beyond just sex and race. There's age, religion, national origin, sexual preference, and disability status just off my head.


> I've seen a bit more than half of fired employees come back with some form of discrimination lawsuit threat

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?


The challenge is that in some states, employer suits attorney fees are paid by the employer. So employees can hire an attorney on spec to threaten the company, and say "pay us less than the cost for you to defend this suit and win, and we will go away". So you put the company in a situation where: - if they win they are out maybe -$100k - if they lose, they are out maybe -$250k

(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)


Or just give everyone you fire $10-50K in non-disparagement/severance/hush money to go away. That's what I've seen that worked fairly well.


> things like <brand> to arbitrate

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.


Maybe you have to stop the discriminatory firings.


I don't think that's the reason, I am a contractor and sometimes I take up to 7 "interviews".


Tech companies are extremely risk adverse when it comes to hiring the "wrong" person. More interviews means more people to spread to blame over if a wrong hire happens. At seven interviews, if everyone signed off on the bad hire, that wasn't anyone's fault, it must have been that the hire was skilled at deception or some other deflection.


Curious, what is the "wrong" person? I've worked with some co-workers before that were clearly not a fit, but it was so obvious. One time I was asked to help a new hire with a project that was falling behind. He had spent 2 months trying to get some javascript (that he copied from a project I had done) working. He didn't even know what the web console was. As soon as I opened it and saw the javascript errors the fix was simple. But he spent 2 months just smearing random javascript around... Surely it would be easy to filter that person out during interviewing.

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.


If it’s tough to fire the obvious dead weight, just think how tough it is to fire your second category. Both seem “wrong”, unless the latter examples are being judiciously messy, e.g. build revenue first perfection later.


Where “wrong” person means “doesn’t want to subject themselves to a ridiculous amount of submissive hoop jumping” — which excludes a tremendous amount of the best possible hires.

They want cogs for the machine.


The best possible hires don’t go through this interview nonsense anyway.


Doesn't this seem like the (hopefully inadvertent) perfectly structured model for hiring sociopaths? I'm speaking semi-hyperbolic but seriously... An employee isn't a romantic partner or social club member. Some (most?) of the most brilliant and hyper-productive people I've hired and worked with were socially inept. In fact I once hired a guy whose resume was -barely- legible and horribly structured who turned out to be my top tech.


Sociopaths are frequently great employees. Psychopaths are bad news, but some of the best people I’ve ever worked with were total sociopaths whose goals aligned with the organization’s.

I 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.


Why did you hire him?


Funny enough it was actually my wife who suggested him. I had a large stack of resumes I had gone through and was complaining to her that I couldn't find a suitable candidate to even call in for an interview. She looked through the resumes and asked about him. His resume was so bad I hadn't even read it, I had glanced over it and just assumed it was someone on UI just making their weekly allotted resume drops. She had worked in retail management for years and horrifically written resumes are apparently pretty common in retail. Turned out he had the experience I was looking for.


As a principal-ish software engineer, I'd be more than happy to do 7 effective interviews/meetings with a promising prospective employer.

Every career move is life-changing, and I want to get as good a sense as I can about the people, environment, and company.

I want to hear from different levels and facets of the company, get a feel for the team members or representative other boots-on-the-ground ICs (what they're like, what the environment is like, how they feel about the company), and also try to see their initial impressions of how I'd fit in.

What doesn't work for that is being on the receiving end of a barrage of "whiteboard this Stanford new-grad shibboleth 'so I can see how you think'".

The current Leetcode interview tells me only a little bit about the company -- and it's negative (but, relativism-wise, I don't fault people much for defaulting to currently popular ideas). But it doesn't tell me much more than that (unless the interviewer is also being rude as they go through the ritual, which would be another negative).

The Leetcode interview also isn't a very effective way for the company to get a sense of what I can do that a second-year CS student probably can't.


The last two places that offered me jobs interviewed me twice each. The one before that, it was a fairly easy half-hour solo technical test, then an interview. I think that's the sweet spot, frankly - a fizzbuzz-level coding challenge and then a single interview to which all stakeholders show up. Maybe two interviews at most, and that's only if you can't get everybody in a room together at the same time. And when I say "all stakeholders," I really mean no more than about 4 people: a peer, a mentor, a boss, and at most one counterpart from another team that interfaces closely with that team, but I digress.

I've never had to put up with more than 2 interviews, and probably wouldn't. But I'm not in the Valley, and I'm generally not applying to the Big Five as it were. You know it occurs to me there's a possibility your recruiter is just over-preparing every candidate to expect the worst. Or who knows, maybe 5 to 7 interviews is normal for clients of that particular recruiter, because they've got a reputation for shoveling idiots through the door? In other words, it seems like there could theoretically exist a recruiter whose clients take their recommendations so seriously that they don't even interview you once!


As someone who's played all roles in this story (candidate, interviewer, hiring manager, person designing the process) I'm going to argue that symmetry is more important than length.

By symmetry, I mean that at any point in the process, you and the company have invested the same amount and learned the same amount. If you're going to give me 5 interviews where I'm answering 90% or 100% of the questions, go away. If you're going to give me 5 interviews, where the first one is the hiring manager mostly telling me about the company and the role, the middle two or three are about 75% me answering, and the last one or two are mostly me getting to know some people I'm going to work with, that does seem long, but at least it's balanced. This is a big decision for the candidate as well, so presumably if the process is fair both the candidate and the company should want a process of the same length


I am so tired of recruiters and hiring managers spending time telling me about the company. It's all the same BS. Everything I want to know about the company I can usually learn from the website.


I mostly agree about the buzzwordy description of the company. But it’s critical to learn about the team’s internal process and tools.


How’s that solving leetcode att 30mins pace in 5 of 7 45mins rounds can get a candidate know about company. No wonder Blind is more vivid than interviews.


My God, I am so glad to be out of the rat race.

I was chased out, by the very first contacts from companies, or, in a couple of cases, the second contact, being directly hostile and insulting.

I’d assumed that this was because I’m older, and people just wanted me to self-delete from the hiring process (it worked). However, hearing all these nightmare stories makes me think that everyone has to go through that.

If that’s the case, then it’s really just a hazing ritual; preparation for new hires to be pliant and subservient.


I recently interviewed at <hot startup>, got past HR, then while prepping for the tech screen they told me "by the way if you get past this stage there will be FIVE technical interviews." It was almost a relief to fail the technical screen and realize I got back an entire day or two of my life.


>It was almost a relief to fail the technical screen and realize I got back an entire day or two of my life.

Been there.


At least they let you know pretty early on what you would have to go through to finish to process. It would have been better if they let you know before the HR interview, perhaps in the job posting, but now I'm getting into fantasy world even though it should be a reasonable thing to do.


The predictive power of a single interview with a single person is just not that high.

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.


With people leaving in 2 years or 1 year at Amazon on average do you really need to talk to employees? Take a chance and make the best of it.


I would generally try to avoid working somewhere so horrendous people don't even last a year. If one somehow did not already know that about Amazon, talking to future team members about the corporate culture seems like a good way to try to find out before making a mistake!


I love reading Hacker News for many reasons, but one of them is to see just HOW different "Silicon Valley/FAANG" mentality is from virtually everywhere else. Where 7 interviews and a full day on-site are seen as normal, productive, and fair to all involved.

FWIW, Where I'm at:

* Right now it's employee's market. I am pushing to have two short interviews with candidates, recruiting is pushing to minimize it to ONE. Otherwise we lose the candidates we most want to get - the highly qualified, ambitious ones who don't have time to waste and have opportunities and options

* We hire to keep. We are not hiring for somebody to do boilerplate for 12 months, stack their resume, and keep going. We are hiring to invest into them - ensure they learn about the business, the functionality, the processes, the system, the stakeholders, the clients, the team members; and perform well and smoothly and for a long time. As such, we find that technical skillset is important, but some of the non-technical skillsets much more so - sense of ownership and commitment, communication and soft skills, etc. So the 3 or 6 or 12 hours of coding problems really don't meet our needs.

I thought Google after a decade basically said - data doesn't support some of these crazy interviewing styles we have become known for. Did industry miss/ignore the data and decided to double down on making interviews more and more onerous, and more and more filtering out brilliant candidates who don't happen to be able to dedicate days of their lives (or weeks, for the inane interviews which require you to re-memorize your ComSci undergrad) PER OPPORTUNITY which may never hash out?


> "5 to 7 interviews is normal"

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.


Typical fang interview.

—- 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)


Maybe it's normal for FAANG companies, but FAANG companies aren't normal!


>I was told "5 to 7 interviews is normal"

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.


What I'm wondering is whether people are including phone screens and introductions as interview rounds. I'm going through the process now and with those I'll probably have 7 if I get an offer, but without it's more like 4 (online assessment, in person whiteboard, system design, behavioral). I haven't interviewed in 7 years prior to this, so I'm out of the loop with what's standard.


I do count the initial call if its screening in nature (usually is, its just automatic if you are an experienced dev). But compared to what you listed, I see 3 coding (including "tech screen"), 1 behavioral, and 1 architectural. Based on about 10 companies I interviewed with last month.


It hasn't, and isn't.

IMHO, if a company cannot execute a hire in three interviews (or generally less), there are serious structural issues that one should steer clear of.

That said - the applicant screening process is where the most significant work-multiplication value lies; to this end, I cannot stress the significance of writing and communications skills with regard to the quality of a CV / resume. If the execution in this area is poor, it will be poor elsewhere. This is one's pitch deck, of sorts.

Frankly, there is a more critical question IMHO than (the existence or quality of) one's university degree or developer skill set: can a prospective hire with relevant experience and a history of execution be put in front of clients, co-workers and investors to communicate concisely and clearly?

Answer: they can certainly start with selling themselves during the interview process.

With the right hire, it can then be possible that requirements gathering is better defined, technical documentation is accurate, and work sizing becomes an exercise in clear communication of risk. It also makes culture fit a much simpler proposition.


This correlates well to my personal experience. The companies with the longest interview processes have been the worst to actually work for: 8+ hour interview processes, 5 or 6 individual interviews, HR "behavioral" interviewing, on and on. The longer the process, the more dysfunctional the organization, the worse the actual job.


> How is a process like this in any way shape or form efficient or productive?

Because hiring the wrong person becomes a colossal waste of time and money.


As mentioned above, does 5 or 7 produce a significantly better result than 3 (or 2 or 1)?

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.


That’s the standard excuse but how much less of a chance do you really think there is to hire the wrong person after 7 interviews vs say 3 or even 1 done well vs the time you’re spending trying to reduce that risk? More opinions isn’t always better. You can’t eliminate risk entirely and I don’t think it’s as as much of a waste as companies often claim it is.


That's only because you spent thousands having candidates go through 7 interviews.


Stronger: You're also rejecting more candidates. So you're not only wasting the time of 7 interviews, you're wasting the time of 7 interviewss times the N people you interview before you find one you're willing to hire.

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.


I get 3-5 requests to interview from Amazon a week. I ignore most of them completely because I know too much about them. Guy I worked closely with at a certain cobbler in Beaverton Oregon you've probably heard of. He left for good reason and had lots of bad things to day. The managed to claw him back after about a year with "a huge pile of money" right after he had a kid.

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.


Interviews are the smallest timesink in all of hiring. I’ve personally whittled down 1000+ resumes to 2 and then those 2 interviewed with 4 people.

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.


this


If the hiring process is faster, then the time wasted bringing in the wrong person is decreased significantly.


Definitely not, the hiring process is just a tiny part of "the time wasted bringing in the wrong person" - onboarding and training take far more of company time than that.


Google had looked at some internal data and decided that after four interviews, you don't really get any increase in signal: https://rework.withgoogle.com/blog/google-rule-of-four/


Respectfully, I’d like to call bs on that one.

The article you linked ins from 2017.

I interviewed for an are position in 2019, and I still had to go through 7 interviews: hr screening with dumb trivia questions, phone screen with coding questions and then five (!!!) more interviews in a single day on-site.

(For the record, I didn’t pass something on the in-site interviews, in my opinion nothing I couldn’t have learned)


I worked at Google from 2004 - 2007, and I remember hearing this towards the end of the time I was there in a presentation shared by the people ops team.

It's possible that this wasn't really followed in the hiring process - doesn't mean that the conclusion isn't true. I guess it seems counterintuitive on some level that more interviews wouldn't yield more signal.


I interviewed at Google around 2012 and I definitely went through more than four interviews. It was seven or eight in total, if memory serves.


Yeah I have 16 years experience and was asked to take an aptitude (IQ) test. I find it personally insulting.

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.


IQ-style tests are the norm in parts of Asia. Straight up 200 arithmetic problems in 10 minutes, draw as many perfect squares as possible in 30 seconds, “what’s the best synonym for this word” type of stuff preceding a tech interview. Plus some old sweaty guy in a suit to berate you for not doing something perfectly and question why your 32nd square is slightly tilted to the left while the others are to the right, and how this will reflect upon your moral standing during working hours.

It’s absolutely nuts. I ignore requests from any company that publicly says they require it.


Huh. I am working in IT in Southeast Asia (Indonesia and Vietnam mostly) and I have never heard about this.


It is very common in India. Especially the service based companies


Ah. The culture in India is probably very different from SEA.

I literally never heard about such a thing here. (Not saying it's not happening. I am not from here originally.)


this right here. i was told to fill out essays as part of the interview process to indicate i had a good culture fit. i'm talking college entrance length and prompt. shit like in 5.000 words tell me how u r a team player.

nahhhhhhh


Would have just submitted "Clearly I'm not".


"I'm clearly a team player because I kept this short for you."


Many years ago I took an IQ type test for a job where I would have failed the practical skills assessment. I passed and it was a very good hire for the company.


I think it really depends on where you're interviewing, especially now that lots of places are desperate to find people. Sure, at the big FAANG companies you still have to jump through a lot of hoops, but at newer, smaller companies they seem (in my recent experience, anyway) to be much more willing to hire after 2 or 3 interviews (phone interviews even). The place where I'm working now I had a total of 3 phone interviews (not in person due to covid, plus it's a completely remote company). The 3rd interview was with the CTO. He basically said: "It's really hard to find people to hire right now. We'd like to hire you, do you have any questions for me?"


I entered the software industry as a developer about 4 years ago, and I have been running interviews for the past 2 years or so. Interview hell is all I have ever known.

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.


From 1983 to 2008 my interviews were basically, talk to some one who's doing the hiring. No testing. Get hired. Most of those companies were relatively small. All but 2 were under 50 people. Only 1 of the 12 or so even asked any technical questions to see if I knew anything.

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.


I also noticed this same pattern. Until roughly 2008 - 2010 or so, interviews were a much more informal style. You'd meet the team, get asked some basic technical questions, they'd take you to lunch, etc. If you had some sort of recommendation (inside referral) it was even more informal.

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.


Funny enough the last job I applied for was in 2006


The thing I've noticed is that there's not many group interviews any more. So it's a lot of telling the same story 5 times to 5 different people.

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.


Apple used to do group interviews. If I recall I did two rounds of them in size interviews. One had two people in one then the other was the whole team of about 6 with the manager. There might have been a third group, can't recall. It was fun though.


1st phone call directly with the hiring manager, after the resume has been screened by the hiring manager. 2nd meeting in person, a few questions, maybe a take home task. Decision made in 24-48 hrs.


> Could you elaborate on how things worked differently in the past?

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.


Sure. Usually contacted by internal HR or a recruiting firm (depending on the position, recruiting firms use to be -almost- exclusively c-suite or very, very specific specialty niche positions. Internal HR would just setup the HM call, maybe ask some clarifying questions (education, certs, etc) to make sure it all adds up.

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.


I wouldn't say it's a thing of the past in any sense. One of the first things you should ask or be informed of when you make contact is how the interview etc process looks like. When it's bogus, politely decline the position and move on. There are plenty of good companies out there (unless you're in a tight spot in which case any job is better than no job). For context, my latest hiring experience was a call for initial contact, two video meetings and then some emails about the minute details if I remember correctly.


You're not out of touch, the industry is.

I firmly believe that nobody knows what they are doing when it comes to hiring and everyone is just following each other.

It's as if interview loops are so long winded that only the ones with enough willpower/endurance survive. They also tend to expand so much time that each company is hopeful to find a better candidate in that duration. Yet corporations don't tend to take into account optimal stopping into their hiring practices and end with less than ideal candidates or come out with no candidate at all.

Personally I think more companies should hire faster and improve their performance evaluation processes to fire faster. It shouldn't take more than 2-3 interviews to get enough "data points" that someone has potential to grow in the position. Especially at this level of pay and responsibility, you should have something online to show you're competent already. Everything else is corporatism and appeasing the social agenda.

Some big tech companies you can get hired and never get fired. Other companies you can get PIP'd although you'd be a 10x contributor at another big tech company. The goal posts will continue to move as tech jobs become more accessible to the world. I think that's a good thing, but I think we should challenge what is normal to land a job in the first place. 5-7 is ridiculous and costly for all parties involved.


Because they can. There’s way too many of us, so the expectation has changed from ‘trainable’ to ‘pre-trained’. It keeps changing too. Just 5 years ago, hiring was mostly leetcode from junior to principal. Now I think it’s changing again, but I don’t know what to. I’ve found that developer productivity is mostly determined by facility with the DevOps tools and frameworks. I hate to say that because it turns hiring into buzzword bingo, and this has become impossibly complex.


In the dark ages, I did coding and systems work for a large money center bank. Hiring back then was at most three interviews - a team member, manager and perhaps the next manager up. There were no "tests," though pertinent questions were asked - often related to the hardware/development environment and familiarity with business and process.

I don't recall any of the people that I worked with directly, or knew from other groups, being incompetent.


I've worked as a software engineer in the US since 2013 and have gone through 12 interview loops in my career. At a typical tech firm, the SWE interview loop consists of:

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.


Hiring managers lose their authority when they cease to ask meaningful questions about the existence of and rationale for each requirement that is listed on the job description, and its relevance to the overall outcome.


Hiring today is like meeting your wife after a wedding and just before you go to bed. And there are bigger questions, why we even need resumes if those are disconnected from hiring process and mean nothing except passing trough ATS algorithms. Hiring got broken exactly at the same time when it became separate profession not strictly connected with demand from people who need help with their work. I never fully understood why developer who need help can't hire people directly to help him. Those people would spend together 8 hours a day for at least couple of months if not couple of years and they often meet at the very end. If there's no chemistry between them why hire ? There's lots of talks about scaling and toxicity, but this is result of hiring people who don't talk with each other cause they didn't know they would work together before they got into this big brother show on company island called agile team. What was wrong with this idea of helping each other that worked 15 years ago that established this whole industry ?


There needs to be something like the SAT for computer programming. Getting a 1500 won't mean you're a genius but it will mean you can do the job, and then there can be 1-2 interviews for domain-specific skills and culture fit.

I know many have tried this, some have built great businesses, but nobody has yet become "The Credential" but I do believe this will eventually exist.


I’ve had some companies give a Codility test, which is basically 3 leetcode-style problems, 30 min each, solvable in 10 or 15 lines of code, any language you want. Then the actual interview can focus on discussing your solutions and higher level questions.

(Turns out the company started as a 10% project of the first company I encountered that used it)


You just have leetcode their next product idea.

They'll rent some office space, put you in a room for 2 hours on a computer with no internet, and see how well you can grind through their problems.

Your score will arrive via the Blockchain to save on physical trees and allow for ready verification by future employers.


Generate an NFT with a user's score on it, and you've got VC money all over it.


But then what does it mean when you sell the NFT to someone else?! (laughing on the inside, love the idea)


Sure, and then this test will closely correlate with IQ, strongly select for you-know-who, and we’ll be right back where we started.


Hopefully it would correlate with programming ability and not general IQ.


IQ tests tend to cluster around a pretty specific kind of thinking. Pattern matching. Logic. Math. Sometimes vocabulary.

This doesn't correlate with programming ability: it is indistinguishable from programming ability.


Nonsense. I have a reasonably high IQ but no programming ability because I’ve never learned it. Meanwhile there are many highly employable programmers with very ordinary IQs doing things like making websites or implementing business logic. It’s only a specific type of programming where success directly correlates with IQ.


I know too many people who do well at tests but suck at life.

Standard tests this and universal metric that are shite.


You will participate in the hazing rituals and you will submit to humiliation over a several day period. After all, anything less means you aren't fully committed to the corporate vision.


I don't know, but it's a huge problem, and it makes no sense.

Companies are desperate to hire, all they do is complain they can't find anyone. Yet, when it comes to actually hiring they are so afraid of hiring the wrong person, or someone who is faking it, that they put up a huge barrier to entry. Beggars can't be choosers!


I've ranged in everything from 3 interviews to 20* in my tech career. All interviews suck, but the unifying factor I've found for what makes them good is when the company pays you for your time interviewing. I don't so much care about the money, but it's a positive signal that they're invested in me and they aren't just throwing me through more rounds for the sake of putting me through more rounds.

I understand that a higher risk hire demands more validation. What I want communicated from a company though is expectations going in and what format it will be all the way through. I don't mind more as long as I don't get the "hey we're going to put you through 3 more interviews" email.

* For Microsoft oddly enough, but it was a unique situation where I went through both a full design interview and a full eng interview for a hybrid role.


Sadly, 5-7 interviews are quite common. I think this is because of a few factors:

- Instituting a multi-round interview process makes the company feel like it's very selective and hires only the best. This also discourages 'shoppers'.

- It is perceived to be more 'democratic': if there are 5-6 people in the team plus one manager, by giving everyone the chance to interview and weigh in on the hiring decision, it will be felt that everyone has got a say in who they work with. Plus it now becomes a collective decision owned by the team: if they hire a dud, they have no one but themselves to blame and they still have to work with him and produce results. This will reduce the incentive to hire someone less skilled (no one will admit that it will also reduce the incentive to hire someone more skilled or with a different background that is not easily evaluated).


FAANGs started doing tons of interviews so everyone else did too. Today I'll get a "behavioral interview" from a small company that is totally unstructured and I end up controlling the interview because the interviewer is unprepared. Whereas for a FAANG I just need to have scripted responses to a series of 30 to 50 commonly asked questions.

I'm happy that they are doing more to try to ensure they get the right candidate. It's very easy with just one or two interviews to miss a great candidate who was nervous, or miss a confident candidate who is a terrible fit.

However, these additional rounds are no guarantee you won't get a bad match. It depends on who's interviewing and what basis they're going off of, and whether the interviewee has done prep work. As per usual, it's not the process that matters, but the people doing the process.


I have been trying for the past two years to bring our team's down from 2 + work sample to work sample + 1. All my effort has been stymied by an increasingly bureaucratic and "empowered" HR department that wants to standardize on 3 + work sample + test day company-wide. It's driving me insane just to keep the status quo.

We are not a FAANG, not in the US, do not and cannot offer SV salaries. They just do not understand one of the best things we can offer is less bullshit and a bigger chance for people with skills but not traditional backgrounds. So instead I have an endless line of young men who kind of know how to add a new JPA repository to a Spring application, and an MSci in some easy-to-get-an-EU-grant area, and we actually spend hours time on each one instead of asking them to code first.


It isn't. Over time you will notice that counter parties in negotiation will often use "normal" or "industry standard" argument to achieve their goals. Sadly for commodities the enforcement machinery cannot usually accommodate variation anyway. The best option is to walk away.


TL;DR - you can say no to the people who have normalized that, and still be highly successful

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.


Yeah - this resonates. I think people understand that if you're a FANG and you hire many people and you have orders of magnitude more applicants, you can (maybe need) have a difficult hiring process with a high bar. The problem is that many other companies look to their hiring process as an industry best practice when it is unnecessary. Now you have to do leetcode and too many interviews for everything


"TL;DR - you can say no to the people who have normalized that, and still be highly successful"

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.


Let me provide some color for you. Hiring is changing. It's shifting from "oh this person went to good schools, worked for a top company" (self perpetuating loop) to "can you answer this difficult question in 45 mins?" (more noisy, but less biased estimate).

Now, your question is I feel completely wrong. Meaning ever since I joined the work force (2004), I always had 5-7 interviews.

But that aside, the real deal these days is an effort to unbias the hiring process. Meaning put less weight on the resume. Put more weight on the 0.5-1 day you spend with the candidate during the interview process.

Obviously, you need to ask the right kind of questions to measure technical competence. So the Q&A is also heavily skewed towards job-required skills & knowledge (vs puzzles and such).


For people complaining about 4-6 interviews in tech companies, remember that in a lot of other industries (e.g. finance, consultancy, law) they take into account much more information about you. For example: the school you went to, your GPA, and the company you are currently working at. If these are not what they expected, they won't even interview you. So that's how they can save 1 or 2 interviews: by transferring the filter to your university and companies that hired you.

And I personally think that's bad. I'd rather have to do 2 hours more of interview when I'm changing jobs than have to worry for years during high school and university on a ton of metrics that I'm being evaluated on (the vast majority of which are useless for the job).


Do you mean 7 counting all the 5 or so different sessions during an on-site? Or are you counting the whole on-site day as one?

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.


This is why I won't ever work for a FAANG company. I am too old for such shenanigans, and I am not underpaid at my current gig. Plus, I'm spoiled -- every single job in my career (even the first one, LOL) has been a trusted referral. So I usually just sit down with the hiring manager and one of their tech leads (if I'm not interviewing to be the tech lead...) and it's pretty relaxed. Sometimes we just go to a local pub and meet over beers. I'm no 10x developer, but I'm pretty good at cutting out the bullshit, unfucking existing projects, and getting them out the door. A solid track record makes it really easy to get referrals.


This is where I'm ending up too. Word of mouth from people I trust is really the only way to go any more. Too many companies have dogshit cultures, and I'm happy where I am. Unless my current job suddenly goes downhill, why dance through this insane bullshit for some comp that will barely make me any happier?


When I arrived in the valley in the 90s it was already common. I'm not sure I ever had 7, but multiple interviews over most of a day, with a break to chat over lunch, was the usual thing there. Couldn't say how much further it goes back.


Outside the US (and FAANG specifically), many interviews is perhaps unusual. I haven't had more than two interviews (in four countries, DE/US/GB/CH) in any job in two decades, ever.


Frankly speaking here. (O&G industry so not in IT specifically)

If I interview with you once and I find out that you didn't have sense enough to make sure that you asked all the relevant questions and made sure that I met and interacted with those people who would be working closely with me in that position then the only valid conclusion that I can draw is that you are too bureaucratic or disorganized and that I will have to waste a lot of time at your company or learn to deal with the bullshit. I don't suffer fools very well and from experience, bureaucracy breeds indecision and thrives in environments with no accountability.

In my career I have only interviewed twice with a company on one occasion and in that case I was notified up front that there would be two meetings necessary since one of the managers was out of the country on the date of the first meeting and others in the group would be traveling during the second so they needed to break things into time slots so that everyone could get an opportunity to ask questions, shoot the shit, or whatever. I ended up spending one full work day and part of another interacting with two small groups who could fit the interview into their schedules.

I didn't get that position because I had another offer come in before they could make an offer and I took the other offer.

Don't waste people's time. The hiring company is also being evaluated here and disorganization is not an attractive feature.


It depends on the organization, of course.

At my previous employer an interviewer would go through an interview panel, give a presentation, get taken out to a nice lunch with a few people (which was absolutely another interview), and 1-2 more interview panels followed by a discussion with the director. Each interview panels would have several members of the division (typically 5-6). There was no "hiring manager", intentionally so.

The whole process is more like serious dating leading to potential marriage, but there were good reasons for it. People often work on multiple projects with multiple people, and those projects would end and others begin over time, but the goal was to have people stay. It's really painful to have people leave (because their institutional knowledge left with them). In addition, nobody wanted to have to constantly work with jerks. So the goal was to try to determine if the candidate would be able to work with many other people, and vice versa. We especially wanted to know if candidates were curious (a very good sign) and could explain themselves in a presentation (because that was a common need).

We didn't invite people until we already read something they'd written & talked with them on the phone, so we tried to not invite people until they were a plausible fit.

Nothing is perfect, and it definitely required time from the interviewee, but there were reasons for it.


Recently did 5 interviews, and I liked it. I’d had no issues doing more if needed, just to be on the safe side for both parties.

I guess that when a family doesn’t depend on your job or you are not leaving a good position, it could be OK to join a company after 3 or 4 interviews. But if you have a family or are leaving a good position, there is much more at stake. 7 interviews is not that high of an investment to lower the risk of a bad move, that could have a negative impact on your career and the future of your family.


> 7 interviews is not that high of an investment to lower the risk of a bad move

To me it seems that for this to be true, either my time must be worth very little or I must be really risk averse.


For my job, this was in 2018, I sent an email with CV, ~90 minutes interview a few days later, had an offer iirc the next day or the one after, then went by once more for negotiating the contract details. Of course I'm skipping the job searching part (that took several weeks and this wasn't my first interview - the area doesn't have that many opportunities for me in the first place and I didn't speak the language), but if you're wondering how many interviews is too many... That's my experience in Germany.

Since then, was approached by and interviewed with another (German) place during the pandemic, had first a video call with the CEO, then a more technical quizzing by three would-be colleagues, then an offer. Seems a little different because they approached me based on online info where they apparently liked what they saw, that might have helped skip a screening step or so.

My girlfriend, also applying for a technical position, had iirc one interview in the German office, then one with the CEO in the headquarters (3h driving; I booked a hotel for us and made it into a weekend trip), then an offer.

Seven seems rather excessive.

There is a trial period here, where you can leave or be fired with like two weeks' notice, for the first three months or so. Unless you're hiring across a border, especially EU borders, that lowers the threshold considerably as you can just "try out" what someone is like without much hassle. Maybe that's different compared to where you live?


This is part of the reason why the last 7 years have been so shit to me. If you burnout and lose your job, it's absurdly difficult to get __any__ new one, even underpaying ones at shit companies that abuse their employees. All it takes is one idiot from marketing to think you answered the same question more vaguely than they would have liked, and 13 hours of interviewing time is out the window. Scale that up to applying at even 5 companies, and you're in the business of causing depression


For higher level jobs (i.e. directors+), 5-7 interview sounds pretty normal for a fairly large organization, and I don't think this has changed much.

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.


It's normal. A company that doesn't do this, unless it's tiny, is a warning sign. Why?

Short answer: It's very difficult to work with incompetent colleagues colleagues.

Long answer: We don't rely on a credentialing process like other fields do. Some people lie on their resumes or embellish their skills. Other people overestimate their skills. As a result, employers have to determine competence in the interview process.

A single coding question is often not enough. At a minimum bias can creep in, but also poor interviewer skill can make a good candidate appear poor, or could allow a poor candidate to pass. Furthermore, often companies need to screen for particular skills that are critical for a given product.

Furthermore, I think it's useful to be exposed to everyone's communication style, and for everyone to be exposed to your communication style. Often that has more to do than just technical competence.

FWIW: My wife is a pediatrician and her job interviews were mostly mutual interest. But, she had to go through a rather intense credentialing process. Our industry doesn't seem to trust credentials for reasons that I never understood, therefore, we tend to rely on employers gauging technical competency instead of a third party gauging technical competency.


Any company that does do this is, at a minimum, telling you that they're incompetent at interviewing. And that might be a warning sign - what else are they incompetent at?


I see a lot of responses in here that try to justify the practice using empirical data/logic. What we’re failing to consider is the trade off between “efficiency” and “equitability.”

Just because something is 100% efficient in allocating resources (time, money), doesn’t mean that it’s worth doing. What this thread shows is that somehow, we’ve become sympathetic to megacorps, in winner take all markets, who want to build a world where their time and money is seen as the most valuable.

Instead, we should account for the fact that these companies, with CEOs making $200mm+ per year, should have a civic duty to take on more risk giving people a basic right- access to a job.

Credit card companies aren’t allowed to underwrite based on certain factors heavily correlated with race, religion, or other things (I forget the rest) that were deemed unfair to be judged by. In an efficient world, we would have collectively decided that companies should be able to infer your ability to repay debts based on the zip code you live in, or the college you went to, or the demographics of your friends. It makes sense to not allow this from an equitable standpoint. Why can’t the same be said about hiring people?

Who has the luxury of going through 4 interview rounds? Who has the privilege of studying hours and hours of leetcode? Who has the privilege of staying up to date on the latest web frameworks? I think you get my point.

What won’t surprise me is that the data may suggest the youngest are most suited for many jobs, if one were to judge by interview readiness and performance. If that becomes to norm, would the future version of yourself deem the mechanisms of finding a job market acceptable?


It depends on what you are counting as interviews. Normally there is 1 recruiter/hiring manager initial call. Then there is 1 phone screen of some sort. If you pass that it's normal to have 4 onsite interviews in a day. That gets to 6. Sometimes there is a follow up interview and sometimes you skip the phone screen. I feel like 5-7 is the normal routine. Is there something else you expect?


This has been my experience, but what used to be 4 interviews during the onsite is now 4 remote interviews, sequential, each one dependent on passing the previous. Thus the process takes longer overall, and has twice the periods to stress about "did I do well enough".


It is totally normal. Consider

1) recruiting needs an initial chat, to get you excited, do some light screening, and ensure comp expectations aren’t out of whack 2) then the hiring manager has a screen 3) once the hiring manager likes you, then you need to conduct due diligence. As others have echoed, one interview can’t possibly probe on all the key aspects of the job. In our case, we look at growth potential, tactical experience, and 2 case interviews, usually one more qualitative and one more quantitative.

So there’s 6 right there. At the end, you know several things: the candidate is aligned on comp, the hiring manager likes them, other people like them, they can do the job (as reasonably confident as you can be), and they have good upside potential. Hire!

If you cut anything out, you have to sacrifice some aspect - maybe less confidence they can do the job etc. as others have echoed it’s actually hard to fire someone from a practical standpoint esp if they are not obviously terrible, or they’re willing to try. Better to just hold a high bar up front, to minimize risk on back end.


Here's a 2013 article on google's results on evaluating various factors in hiring.

https://www.nytimes.com/2013/06/20/business/in-head-hunting-...

Basically, no one really knows how to hire.


I had 6 interviews with Amazon only to be told NO at the end. And I thought I got the jab lol. Then just recently, I was looking to jump to smaller organization. After 5 interviews they told me no. Again I really thought I got the job. So now I am just wondering wtf happened. I got no feedback. They should be paying us for all the wasted time and energy.


I did a couple of interviews with Amazon and I similar experience as yours. The worst part was there is no feedback and one amazon recruiter scheduled a call (which she reschedule two times) just to tell me that I am not selected.


I think people here (perhaps not OP) are not all thinking ‘an interview’ is the same thing.

In our company, it’s normal to spend 1/2 - 1 day at the office - or nowadays by video - being interviewed by 5-10 _people_, in sets of 2. It’s been like this for all my 20 years in the industry.

It’s not normal to have to interview on 5-10 different _occasions_ - that would be terrible!


To save everyone’s time, I would have just two interviews progressively. First one explain in detail something that you have been part of building. Second pick and solve a problem from a list of problems that we face, use all the tools you need from the internet book etc but solve along with interviewers as if they need to do this but you need to convince them why it should be done this way.

Put as many engineers as I need to be on these two calls.

That’s it. Anything else is an overkill.

I am looking for someone who given time can play exactly shades of these two kind of roles in my team.

Let rest of the engineers witness as you perform.

Will have prep interview to help you understand the format and not to be intimidated by the number of interviewers or the format.

I have hired in big tech, people who will not pass these two tests get hired.

I don’t care if you remember an algorithm. I need to know that you would be able to research and get to know such algorithm and know why to use that.


This might be an unpopular opinion, but I actually like the current format of 1-2 phone interviews + 4-5 onsite interviews, most of them Leetcode style. All other solutions seem to just increase subjectivity on hiring decisions and make the interview more gameable.

Take home interviews are horrible if you are interviewing for more than one company at a time. It will take a lot of time if you are serious about it, and it will test you much more on how much you dedicate yourself to the problem than on what's your actual skill.

Also the fewer interviews there are, more is the importance of subjective and unjust metrics. I received offers from large (and somewhat good) companies with 1-2 interviews because of my resume. Although I personally benefitted from that, I think it brings a lot of problems for people who went to bad universities/companies, and that is not worth it.


Our company does 5 interviews for a developer position: pre-screen with recruiter, hiring manager, pair programming, tech deep dive and one with one of the founders.

Having been through the process as a candidate and now involved in it as an interviewer, I can’t say that it doesn’t make sense. It is also quite expensive for us as there will be 7 different people involved but that is 7 people who have a say in assessing the candidate.

This allows for a good assessment of the candidate from different perspectives and also to reduce bias from any individual interviewer (conscious our otherwise).

Hiring the wrong person is expensive, even with a probation period. You have to pay a lot of commission to agencies. We have small teams and onboarding someone ties up valuable resources. Hiring someone means other good candidates might have to be turned away after that.


It's because culture-fit is the single most important aspect of any hire

Followed by teachability/ability to learn

Sure, technical ability (in whatever role you're trying to fill/enter) is important, but if you clash with the team(s) you'll be working with, it doesn't matter how "good" you are - as I wrote several years ago[0], "all-star teams" are horrible: what matters is that as a team you can [very close to] "the best".

Having a series of individual interviews can help ensure that no one's inherent bias (pro or con) unduly affects the hiring process

------------

[0] https://antipaucity.com/2014/06/25/who-wants-an-all-star-tea...


I think the answer is that many responsible for recruitment have no idea whether a prospective resource is good/suitable or not, so they need some others to share responsibility for their “sell” (recommendation).

The lack of trust is now everywhere in programming and management, from recruitment to development.


This is unrelated to your question. But, as another degree-less father in tech, I was wondering why you wanted to show your children the importance of a degree. You yourself didn't have one through all of your success. I would argue you wouldn't have been nearly as successful either if you had chosen from the get-go to go the BSBA route. The average BSBA salary seems to hover around 51k, with the top earners making about as much as an entry level dev.

I don't want to be mean, and it's not all about money, I just don't see what value a degree adds for the most part. On the other hand, my son is growing up quickly, and sometimes I wonder if I should teach him that going to college can be worth it. So I really do want to hear it from your perspective.


I think that interviewing is a continuation of office politics with other means (to misquote Clausewitz). An interviewer who will not get along with you is bound to reject you as a candidate (that's what i understood during the last interviewing season)

Shops with very tight hiring processes are in all likelihood bad places to work for, with lots of office politics. A very elaborate hiring process may well be an indication for a general level of mistrust and to some extent an indication for a dysfunctional workplace. I once worked for Amazon, was very happy that they hired me with all their interviews, however the job was a shitthole.

This observation was of great benefit to me, now I don't fret over a rejection. Believe me, it's just not worth the worry.


Well my hypothesis is that there is too much talent applying to each offer. So companies have to build a process that evaluates all candidates to be sure they only hire the best according to them. It's FOMO.

In the past company I was working, they boasted off only hiring the best, and having like 5 interviews, skipping tons of candidate. And the one they were hiring at the end were consistently worse developers and product managers than average.

I don't think that skill of tech employees is strongly linked to company performance (but I have no data on it). Meaning hiring the best developers will not impact the financial metrics of a company. As a result of that it doesn't really matter if your hiring process is performant or not


1) Talk with recruiter

2) Phone Screen

3) 4 tech interviews (2 coding, 2 systems design)

4) 1 behavioral interview, sometimes.

To be honest, this isn't egregious. Given how much we are paid this doesn't seem so bad. Whether or not the coding and systems design questions actually provide signal is a different question though.


I literally cannot think of a job that would be worth going through that. Fortunately, there are plenty of companies that don't do it. They may not be FAANG (which is fine with me, because I'm not interested in FAANG companies), but they do exist.


I applied to a company for two positions and they came back to me saying that I'm suitable for both but if I want to interview for both of them there will be 10 interviews and 2 take home tasks.

The current interview paradigm makes it difficult for engineers to interview at many companies at the same time and get the best offer.

Some companies send you upfront a 2-3h coding test without even talking to you to see if there is a fit.

Interviewing can mean a lot of wasted time and frustration due to lack of feedback and transparency.

I was thinking to create a site to allow rating of interview experiences to prepare people for what's ahead and allow them to assess if their time is well spent. If this sounds something of interest, pm me.


I got 5 interviews add 1 online coding test. But 3 of the 5 are team member interviews and I actually enjoyed a lot. I think it's a lot better than the hierarchical, traditional 5 interviews in which one meets a person higher in hierarchy each time.


My best and it turned out my worst hiring experience as the hiree was when I was reentering the workforce as a dot-com-bust refugee after a few years of self-(un)employment. I was switching to the new language javascript from Java and didn't know much yet. After a nominal phone interview I was called in for a single in-person interview with the founder of a startup and was hired on a probationary basis. After a week I was fired for incompetence in javascript which was quite true however I increased my javascript knowledge that week by an order of magnitude. The cost to the startup was a lot less than disrupting their overburdened devs work to interview me.


My last interview was about 2 years ago. It was single 1.5 hour long interview with the company owner and their CTO. Still contracting to them.

I am an independent vendor, so it was kind of different interview (I develop products for my own company and for hire).


When I was interviewing for a software engineering position in 1994 I had at least 7 interviews over the course of an entire day on site. When I was interviewing for a senior VP position at a large scale web company I had 13 interviews over 2 months. When my company was getting acquired by a different large scale web company I had 6 technical interviews and a couple of non-technical ones. The only time I had fewer interviews was when I was interviewing for my first job at a startup and the entire team was smaller than 7. However, I did talk to the CTO on the phone for 10+ hours before even interviewing at the company formally.


I recently applied for an effectively specialized support job at a FAANG. After filling up a form ~40min, and one technical interview ~1hr, I got an email to congratulate me for moving onto the next stage and to get ready for 5x 1hr interviews.

In NZ where I am from, this is unheard of, so I asked if they were paid interviews and what is the pay range for this job (since it was not discussed at all at this point). They very carefully made sure not to answer any of the questions so I said I won't proceed with my application and gave a bit of feedback that they are looking for desperate people, not talented people.

Ridiculous, they are not worth my time.


This is largely because companies are no longer vested in growing and maturing talent. Used to be that they hired and trained, now that is all on the employee to skill themselves up for the laundry list of things companies want. So instead of training and learning about people and evaluating them as you go, the interviews have become the surrogate for what used to be done while training. You could take any engineer and make them viable, they used to have to because the market was so small. But now they complain about not being able to find good people, because they don't want to put any effort into someone. If we look at this as a human relationship, like if this were how you looked at your spouse or partner, you'd realize you're being a dick and probably just using the partner. This has become normal, but is toxic in the long run. But hey the only way to get a raise is to leave, which is another data point on toxicity and clearly shows the fundamental switch away from healthy relationships and quality organizational building.


I have a feeling that interview processes have become like dating apps - all these leetcode tests and 7+ interviews, however they're justified, are just filtering systems to deal with the sheer number of candidates. Just like dating apps, I think the overall process is more time consuming and less productive for both sides as the signal to noise ratio of the input has decreased tremendously but not too sure what better way there is if we start with the assumption that we can't completely trust the hiring managers.


5 to 7 interviews? Hold my canonical beer : https://news.ycombinator.com/item?id=30735678


3-5 filtering interviews (not counting recruiter call) with a max distribution around 3 maybe 4 seems the most common I've seen. Very senior (staff+, executive) may skew towards a bit more.


Not really true, there are plenty of jobs with just two interviews. I have withdrawn from some applications where they said 5 or more interviews. The job market is too hot for that bullshit.


I generally get about five interviews when I look for new jobs.

There’s a recruiter/hr phase, a project manager interview, a lead dev interview, engineering lead interview and often a coding challenge.

You’re talking about 6 hours per position. That’s basically a full time job looking for a new job, and if you already have a job to do this is ridiculous.

I generally always go for companies that 1) merge these interviews into three maximum 2) concentrate on the single most important thing: whether we can communicate well while solving a problem.


I kept stats for a couple of years on large numbers of quant financial interviews. Typically up to 15 roughly 30 minute interviews per hired candidate. The probability of getting hired seemed to go to up significantly by interview number until about #7. After that it was flat until the last guy, probably because nobody wanted to say no and contradict the first 10 people. The extra interviews were useful, however, as they helped establish consensus and buy in among the team


Interviews are more thorough because firing became harder.

It used to be that if you hired an employee and found out they aren’t good at their job you could fire them. Today it is complicated and can backfire if the employee believes they were fired because of any reason other than their skills, or were not provided with ample opportunity and support to succeed.

The solution is a lengthier process based on the assumption that once hired, the company is stuck with the employee unless they decide to leave.


Depends on the size of the org and the seniority of the role, but I don't think that 5-7 interviews is "normal". At least in the USA, my experience has been 2-4.


I think that’s because you are looking for a job at FAANG (well it’s MAAAN now but whatever)

Everyone wants to get to those so the process is as it is.

That’s what you get for trying to work at those companies.


Our senior-only contracting firm does five interviews but they aren't formal and do not have any gotchas. We mostly look for integrity (is your resume true) and the ability to be trusted with clients. Any of the five can veto and many do get vetoed for not being technical enough or getting a bad reference from anyone in the group. Getting fired is very rare...almost unheard of. No one has ever been laid off in twenty years.


> When did a hiring manager lose their authority and the trust of the organization to do their job? Am I just out of touch?

If you think that a hiring manager can judge technical skills or culture fit then you are very out of touch. If you dont know that people lie in their CVs you are completely out of touch - must have been very lucky with your career.

And I dont say that so many interviews are good. But again this happened for years.


My current place had a really neat, quick (!) take home assignment as a filter and then a single day of interviewing with 4 phases (about 5 hours total). Obviously it would be nice if interviews were less than that even but I didn't feel like that was onerous. I feel like this is more the norm nowadays than the heights of insanity like 5 years ago but I have a sample size of 1 so...


I had a day of interviews (~7 people) at my first job out of college in 1986, but my hiring manager had also been the person I first talked with at a career fair.

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.


We're all told to treat our running software as livestock, not pets. That means they're disposable, you start and stop them rapidly, etc.

If I'm being very, very kind, this kind of hiring practice means the company wants to treat you like a pet (in the best possible sense) and not livestock.

Probably it has more to do with data-driven decisions to optimize the hiring funnel. Or possibly voodoo.


When did needing to spend a month prepping for interviews become the norm :sadface:

I understand that companies in Silicon Valley have a huge influx of applicants and so the filtering needs to be high, but the way interviewing practices have spread to other parts of the world because of cargo culting is frustrating.

Companies have a hiring crisis but shoot themselves in the foot during the interview process.


Is this the case? I seldom deal with 3 interviews even; though I have been with my current employer for 3 years.

Have things changed that wildly in a couple years? If a company dragged me through 6 interviews I’d automatically assume they weren’t serious / were incredibly unorganized or unprofessional - and I would obviously take it as a red flag.


I'm not sure how a recent trend this is. My father dropped the hiring process at IBM (France) after 3 or 4 interviews in the early 80 because he was told there would was three interviews left. Maybe it's just big company whose management really want to feel secure about their hire (or justify their job, who knows).


Negotiate a 30-day money back guarantee with the firms who send you candidates. They will only send you proven candidates that have been successful elsewhere. Don't bother interviewing or maybe have a one person 30 minute culture sanity check.

I worked at a household name non-tech company and we negotiated such a deal. It worked great.


One reason is its easier to apply for jobs. Previously applying for a job took a lot of time and effort, screening rounds were done on phone so not a good signal. Now you can apply for dozens of jobs quite easily and do interviews while you're "working from home". Which means more applicants for each role.


I have an upcoming all day interview with 7 different people... something like an hour each. The last time I interviewed for a new company had an on-site round robin process used where we interviewed with a lot of different management staff after initial HR interviews. I guess it's been this way for awhile.


I feel like I'm some kind of outlier because I only had one interview for my first perm job, and a phone and in-person for the current one. But both are small companies (not startups, just not behemoths).

Then again I also feel like an outlier round here for not making 500k, so maybe I'm just a failure!


The best people don't work at places with 5-7 interviews. They get offers from other orgs after 1 or 2.


Never. One is the best.

If and if they have a note from the Hiring Manager's Mom would I give ANY employer a second interview.

If you are Talented and they do not hire you on the spot, they are not going to do so. Why? The "A Player" to be named later has a new position within seven (7) days. Period. Get it?


I need to write a longer piece on our approach at Oxide, but for us it takes effort (not always successful!) to hold ourselves to 9 conversations. This may (or perhaps does?) sound obscene, but (1) these are conversations not oral exams (we don't do red-black-trees-on-whiteboards), hopefully making them less stressful for the candidate (2) we take hiring really, really seriously and (3) I have learned from mistakes at past companies with grievous mishires, for which the downside is essentially unlimited. We have a front-loaded, writing-heavy process (we don't schedule conversations with anyone about whom we are less than enthusiastic), so for us, the conversations are an opportunity to really begin to explore what the dynamic with our potentially future colleague will look like. And time and time again, I have been appreciative of this broad approach: because different folks take such different paths in their conversations, it is not unusual for one person to see something that others either missed or didn't dig into -- and that becomes a serious concern. Of course, it also happens that one person has a concern that others have also looked at and feel has been addressed; we aren't necessarily seeking to build absolute consensus all of the time, but it's essential that we ferret out those concerns.

tl;dr: I think you have every right to ask a company what their process is, and when they can expect to be at a decision point -- but I think there are reasons (good reasons!) why companies may wish you to have many conversations before making a hiring decision.


If a recruiter told me there would be 8 additional interviews, I would definitely not move forward unless the pay was ridiculously good. At least when amazon does the loop its 6 hours in a single day, and their pay is very good.


Totally understood and appreciated. We also don't use recruiters -- and we ask a lot of applicants up front. We know we're not a fit for everyone, and that's okay.


9 "conversations" over how much actual time? 30 mins isn't a lot of time to get a good impression and ask all you need to. If you're telling me that those nine will be conversations then I would decline as you ain't wasting my time.


Each generally has an hour slot, but it's not unusual to end earlier. The folks that we have at the interview stage are generally very interested in proceeding. (It may be helpful to know that we are very (very) oversubscribed from a hiring perspective; I know that this is not usually (or often) the case. Though, if I may add: we are oversubscribed in part because we have built an incredible team through a thoughtful process.) And, as I've said to others: we're not necessarily a fit for everyone, so we're always understanding if our process is too much or otherwise represents a poor fit.


FWIW when I interviewed at Google in 2003 I did seven interviews. When I interviewed at Netflix in 2011 I did eight interviews. A typical Amazon loop these days is six-seven but I hear it's been that way for at least a decade if not more.

So at least for FANNG it's been normal for a while.


That is a good question I believe, it exposes how embedded knowledge software engineers actually have and that wouldn't be something to measure very quick. Every interviewer is likely just trying to confirm if engineer is who he/she claims to be during the application.


You can say no to the people who have normalised this, and still be highly successful in this industry.


The thing I hate about this: when you spend hours and hours in interviews and you get rejected at the last stage the least they could do is to provide some meaningful feedback. But nope. They promise feedback but just ignore you.

I think 3-4 interviews is fine, depending on context.


Because we do silly testing, social tests, and many more test instead of trusting the good old "hire a smart guy by gut feeling + probe (not test) the extend of his knowledge" method.

I am a person who does interviews and I always use this method. Never betrayed me.


I have a similar experience level to your own, and I am equally horrified by today's interview gauntlet.

This, coupled with exploding team sizes and heavy-handed process fads, have left me to consider entrepreneurship as the only viable option from here on out.


Okay, but as an entrepreneur how then are you planning to run the hiring process at your company?


As a Vim/Tmux user who lives in the terminal, I absolutely abhor all these coding websites. They do not have all the Vim keybindings I use and my own personal shortcuts I have embedded in muscle memory. It's such a frustrating process.


Seems reasonable enough. You usually have at least that many dates / extended interactions with someone before committing to a 2+ year romantic relationship, and your coworkers have to spend way more time with you than your partner does


Yeah, I had the same Jikes feel when I thought I would try work for a company for once for a bit than start my own; they said ‘we normally conduct 7 interviews over a 3 week period’. So that was it for my experiment working somewhere for now.


It's a red flag, but a punished one. Because if you're looking for jobs it's a race for the competing hiring managers. 7 interviews means these people will be last and getting the candidates that the other managers rejected.


This sounds to me like the place is wacky for "culture fit" or whatever. If you go for remote gigs I can't imagine it gets beyond 2 or 3 interviews, mostly technical, since they won't ever hang out with you anyway.


Ever since we make 10x more than anyone else. Hiring a wrong developer can liquidate a smaller company, and make serious problems for a medium one. Large companies can take it for a while, but it definitely doesn't help.


Asking what the full interview process is at first contact can be telling of the culture and can be used to screen companies as much as looking at tech stack, company size/details, comp, etc.

That many interviews for a PM is ridiculous.


4 to 7 45-minute to 1-hour interviews are the norm for as far as I can remember.


> (never graduated from high school but wanted to show my kids the importance of a degree).

I’m curious about this statement.

What did getting a four year degree after the fact show or create a more compelling argument for traditional college?


Interviews add up quickly:

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


When I interviewed at Microsoft for an intern position in 1988, about 7 people interviewed me with coding/puzzle questions. So this style of interviewing has been around for a long, long time.


Btw you don't need to do these. I and a few of my friends have got into FAANG and other companies in the past by having a good network and having really solid work in the past.


I hate this so much. As a dev with over 30 years experience and plenty of personal references, I refuse to be subjected to this time-wasting endeavor.

I suspect many GenXers feel the same . . .


Anyone who can't decide if I'm a decent hire without 5-7 interviews better be ready to pay my hourly consulting rate for all the time they waste on the process.


I’ve been interviewing since 1996. Out of 7 companies I worked for, two I got from knowing the owner/founder, 1 was short, and 4 were >4 hours. This is not new.


OP is not kidding about ‘Blast From The Past’

https://youtube.com/watch?v=9_mi3qoA_QY


You may work at this place for a decade. You giving 1 days’ worth of time for potentially thousands of days of work is small change and a worthwhile investment


I have seen this from 2000. Large corps had 5-7 interviews. Smaller ones then had about 3-4. This is for full-time non-intern roles

Edit: My field is not pure software dev


When a company is considering investing hundreds of thousands of dollars in a person, it would be surprising if they wouldn't do at least 7 hours!


When they paid with industry average hourly rate for position and location.

The same is about large test tasks - tests should be small (less than few hours) or paid.


Well to me it’s a lot simpler: the higher the pay, the longer the interviews.

Tech pays really well, I don’t mind taking 7 interviews if I’m paid 500k a year…


Oh brother, wait until you find out about leetcode!


Increasingly ridiculous stuff will get pushed because tech workers refuse to see themselves as members of the proletariat and unionize.


Best of luck. I have no idea how to get hired. I jumped shipped from my last employer in May of 2020 thinking I'd take a 2 month break and then start interviewing. Over 18 months I submitted over 80 applications, and got interviews at 40-50 different companies. Total phone and video interviews ended up being over 110 before I basically gave up. I was trying to transition from a full stack dev mostly with perl backends into a full stack django dev. But I don't think the fact that most of my experience being in perl was the issue, as in some cases my past experience was not talked about much or not mentioned at all. Plus I've re-written my resume and linkedin to mostly only mentioned python and django projects that I've worked on.

The interviews were all the same mostly. Do a take home project or do leetcode problems while the interviewer stares at you. Sometimes I did bad, sometimes I did alright, and other times I did great. It didn't seem to matter. The funny thing is as I got more desperate, I started applying to crappier companies and more junior positions for lower pay. As I went down the ladder, the interviews got even more complicated and challenging!

A couple of years ago I got interested in HVAC technology after having my HVAC unit replaced and researching options. As I'd mostly depleted my savings, I started debating on jumping ship to be an HVAC tech. I could cram for an EPA certification test over a couple of weeks and get a refrigeration cert and then be nearly guaranteed a position at a couple of local HVAC shops for $15 an hour. The only reason I haven't done that (yet) is like you said because of my kids. My life story would be I went to tech school out of high school and was an avionics tech for 3 years, followed by 5 years to get through university, followed by 10 years of software developer experience and then 2 years of no work followed by becoming an HVAC tech working with high school drop outs as co-workers. There would be no telling my kids to get an education when this (forced) path I'm on shows how worthless it is. I've never felt so lost and useless in my entire life.

The other reason for not jumping ship (yet) is that I feel so qualified on django/python stacks. You could drop me into any dumpster fire of a django project and I'd be fine. It is extremely insane that the only people getting hired in that space are people with under 2 years of experience or people with over 10 years of django only experience. There is absolutely no middle ground (which is where I fall in).

I'm now debating jumping on a difference language with a smaller community (similar to how perl used to be) like golang or elixir. But there is no guarantee there but I feel like hiring in that space would more likely respect past experience or at least know that if you graduated college and have years of experience that you would be able to "mostly learn anything" and be reliable. Dunno...


Thanks, and best of luck to you as well. Based on all these nightmare stories I'm hearing I'm half tempted to start a "island of misfit toys" consulting company. Seems like a lot of amazing talent going to waste in the pursuit of being trendy or feigning sophistication


I've thought this same thing. I've done interviewing for a small shop inside a big co., and I managed to have about an 90% hit rate and a strong percentage of excellent talent without doing ANY of this bullshit. No leetcode, no 7 interviews. HR screen, tech discussion, senior manager interview, done. It's not that hard to hire great people if you have the slightest inkling of what you're doing and HR and corporate processes don't dramatically get in your way.


I think you hit the nail on the head. This interviewing thing is completely ridiculous

Best of luck to you


For me that is definitly not normal, that is something I will subject myself only if out of options and desperaly need a new job.


What does optimal stopping in particular the rule of 37% tell us about the waste generated via a 7x interview process?


When they were crying about developer shortage for so long that they switched from regular tears to crocodile tears...


College is slowly become a worse conscientiousness/agreeableness filter since it is now the default.


Ridiculous. That’s what a panel interview is meant for.

I would refuse unless they want to pay for my time.


I'd tell them that every interview will cost them X/year in more salary.


Google does it. Google is successful. So if we do it, we'll be successful.


5-7 interviews became normal around the time $400k+ salaries became normal.


One of the reasons is people become less competent in gauging minds …


it became normal when people stopped saying no and instead of banding together decided this was a good thing to let them prove they are smarter than the next guy. meanwhile nobody wins.


C3 AI does this bullshit.


I'm hiring devs in 2 interviews. It isn't that hard.


> Am I just out of touch?

You're out of touch

I'm outta time

but I'm outta my head

when you're asking around


I agree that this is just dumb. We've lost our way.


Prop 13 should be repealed.


Cultural fit is a thing. Its important you can get along with everyone. Especially in a PM role.


That is insane.


whatever it takes to get that bare cash


Way overkill.


7hrs of interview for $300k+/yr seems fine.

The US President interviews for a whole year, for $400k/yr


> 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.


Nobody runs for president for the salary


He would be an idiot if he did it for money.


Presidents get tens of millions in "speaking fees" and millions in donations to their foundations.


And billions to their offshore accounts.


The President gets that salary for life. A tech job stops paying when it ends; even if there are any jobs with pensions left, you only get them after working a long time.


Not even making FAANG staff level salary, smh


C'mon. A ghost-written post-presidency book is worth $20million easy, guaranteed.


People like the prez interview constantly…


>When did a hiring manager lose their authority and the trust of the organization to do their job?

I've noticed that recently too. Hiring managers at many companies don't even know what the salary being offered to their candidates is until after they are hired.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: