My one and only Google interview went this way years ago. Each round they'd send me more books to study, which frankly I couldn't be bothered to read given the circumstances.
My experience ended when an interviewer in round 3 or 4 asked me an obviously scripted question. I answered sarcastically, he got peeved, and I never heard from them again.
I'm not claiming I'm Google caliber, whatever that means. Obviously I'm not because I don't have the patience for their interview questions.
To be clear, the entire question was:
What's not in a Linux inode?
My answer was:
Lots of things...dinosaurs, the moon...
The interviewer told me very matter of factly that it was in fact, the filename.
I honestly lost all respect for the process, sorry Googlers.
What’s happening is that companies want to completely remove risk from the hiring process.
In the real world, you cannot remove risk. You can manage it, but you cannot remove it. Asking candidates to go through 6 interviews before making a decision and not telling them when a decision will be made signals a risk adverse culture that cannot make decisions.
Ah Amazon... 14 interviews, an additional 5 hour technical test, spanning a total of 3+ months. Only to be informed at the end that I was too technical for the role they had in mind but they were offering me a Senior Principal SDE role instead.
By the time we got to the end of the process I'd already concluded that the hiring process was a reflection of their internal decision making and that this was not a company (or department) I wanted to work for.
Then I was hired elsewhere and I saw something similar happen to a candidate and realised that this was truly an indication of the indecision. We had lots of roles, just none shaped in a way that fitted the person, and what we should've done is reject the person but on that occasion we hired and it was a terrible decision. They were a good person and very capable, but not a fit for the role finally offered. I had the sense that if I had accepted the Amazon role that would've been true for me too.
An interview process of more than 3-4 defined steps that takes longer than a month to schedule, is a bad sign.
Top tip for candidates: Ask what the process is, if they cannot conclusively tell you then double down on interviewing at a company that can.
Sr principal is like L8 so you’re easily taking close to 1M/year salary.. 14 interviews is still a bit much, but you’re basically one step away from distinguished engineer which is pretty much end of the road for the engineering track at amazon
I honestly think this is a product of large corporations being essentially incapable of firing bad resources. Companies are terrified of litigation and bad PR so the only control mechanism is the interview process.
On my team, I inherited an interview process with 7 steps. It's a long one for sure, and it's not a process I can change. But as a hiring manager I mitigate issues brought up in this article by doing a few really easy things:
1. On my first chat with a candidate, I layout the entire interview process. I acknowledge that it is long and I preemptively thank them for going through the process and say that we value their time. I make sure our recruiters can reiterate the process as clearly as I can.
2. I let the candidate know that at any time if they want to pull out, that is a-ok, and that they are welcome to apply again in the future in good standing. I also tell them that during our coding assignment, we really mean it when we say it's ok to ask for more time, and that we don't judge them negatively.
3. I tell the candidate that if at any point we decide to decline, that I will send them a written letter of feedback so as to make the process worth their time. This isn't always easy, but it's always been appreciated. Sometimes it is hard to write these letters, how do you tell someone multiple interviewers didn't like them? I do it by pressing our interviewers to state clearly what didn't come across well, and then I relay those things to the candidate. Sometimes even still the letters probably aren't super satisfying to the declined candidates, but I do my best and hope everyone realizes that job hunting in general is rarely satisfying.
Basically, transparency, honesty and specifically thanking them have gone a long way for me. I fully understand that an underfunded/understaffed startup might balk at the feedback part, especially when lawyers can get involved. But offering up items #1 and #2 to candidates should just be table stakes of your hiring process.
I liked that. I was a manager for 25 years. I think I did OK with my decisions (for the most part).
One thing that I noticed at my company:
When I first got hired (in 1990), it was made clear that I was a desired and valued employee. They were a very picky company, and might well have rejected me, but I felt respected and valued, from my first interview (I was flown out to the West Coast, and interviewed by two managers at a trade show).
As the years have gone by, I noticed that our HR department started to have a very different posture. They had to be the ones in charge. Applicants were supplicants. The company was doing them a favor, by considering them for this position.
Also, the HR department started to project this attitude to current employees, to a visibly increasing degree, over the 27 years that I was at that company. By the time I left, the HR posture was that employees were little more than serfs. There was no illusion that employment was a two-way relationship. They started to impose some really draconian policies on employees, with "termination of employment" as the only choice, if the new policy was not acceptable. No negotiations.
I think that this is an attitude that has become a standard in HR, these days, and that part of the reason for this interview process, is to filter for people that won't talk back to HR, and are willing to abase themselves for the company.
I like your approach and I think it really makes the process much better. However, this one thing stands out to me:
> I acknowledge that it is long [...] and say that we value their time.
I dislike this communication style. Maybe it's a cultural difference. I've heard several times from an American speaker that they "value my time/comfort/satisfaction". At the same time their act clearly showed that they valued something else much more.
For me, your sentence would sound much more personal if you just omitted this last part and kept only the explanation.
Just a rejection letter is something, and in a reasonable amount of time. Many times I would just hear nothing. No response at all. Just a simple 'no thank you' is better than what many get from most companies. It is amazing how many companies do not do this one thing. They just leave people hanging. I had one dude who thought to finally send a 'no' letter. It was 2 years later. That should have been closed out ages ago.
Thank you for doing that sort of thing. It really helps.
I'd really appreciate a letter with feedback after a lengthy interviewing process, I think that's really valuable.
However, I don't think I'd value it after more than 3 interviews. Candidates are applying after work hours and there's a time / energy limit to how many processes they can take at a time. After a given point, you're wasting not hours but possibly months of their life.
Any response is better than nothing and it is sad that is the line to be above. But I know I appreciate letters actually explaining why I was declined, if they are informative it can actually be helpful for me to improve.
Especially if there is an assignment with the interviews I really think that feedback should be required. I spent about a week on an assignment like this with 3 interviews and just got back a "nope, sorry". And it wasn't even from anyone I had interviewed with, just the original recruiter.
If your application process starts with a human being—even better a technical human being—reaching out to me, followed by 2-3 interviews, followed by an offer, I am already on your side. If your application process starts with a HackerRank, followed by 2 phone interviews followed by on-site, followed by team matching, I will not be on your side. Oh and if there's random month long gaps in between stages, I will especially be uninterested.
I've noticed though that as I've gotten more specialized to compilers and programming languages, my application experience has improved significantly. It's not a large sample size but the last few processes I've gone through have been fewer interviews that usually involve going over a project of mine or doing a problem that's related to compilers. It's really refreshing to have an interview where I actually learn something about my field of interest during it. I know that doesn't scale because we shouldn't expect compilers knowledge for junior compilers jobs but it's a very nice change of pace for me.
Is HackerRank so bad? If one does "whiteboard problems", HackerRank says, "boo, whiteboard interviews, just let me code and be able to search on Google, whiteboard is unrealistic!". Now if the company starts with a HackerRank test, that's also bad? I don't get it.
Look, a lot of people have good-looking CVs and can't code shit. I don't know about you but my experience was that one really can't hire based on CV alone. Also, I've seen "architects" that are smart and fairly knowledgeable people that failed to code very very basic stuff (as in, merge 2 sorted arrays).... I get it that at some companies you are expected to draw diagrams in Confluence as a main job, and might no longer have actual coding skills; but we want even the most senior people to actually code, and that doesn't seem unreasonable to me. So just because you're a very-senior FAANG employee doesn't automatically mean you'd be a good fit. I'm not saying they're bad employees, but maybe they just wouldn't be a good fit and wouldn't enjoy the job if they expect to just design stuff instead of actually implementing, too.
I agree actually, I've had a similar experience except in the mobile engineering space.
Currently I'm going through the interview process with a ton of companies (because my company is really dumb and is forcing everyone to move back to a certain bay area city post-covid), and I have been happily surprised to find that most of my interviews are very practical, project based, ones instead of straight whiteboarding leetcode problems. I've received several take-home projects that are followed up with a simple add-on interview to sit down and explain the choices made during the take-home. They have all been specifically focused on domain knowledge to the mobile platform that I'm interviewing for. Its really nice! I hope this trend continues.
That said, I am still reviewing leetcode problems for the stupid faang interviews I have coming up as well.
Agree totally. I recently accepted a position where an officer reached out to me, followed by a really great discussion with them. A call with two engineers and a team call later, I was offered, and we were all confident it was a great fit. The interested was consistently maintained on all sides evenly and communication was fluid. Great experience.
I applied to a company recently whose first interview was a tech test. I turned them down before I even spoke to a human. I don't want to work for any company that puts so little value on people.
I recently agreed to go through a 5-round process which totaled to about 6 hours. I'm the first person to bitch about the ineffectiveness of leetcode/hackerrank bullshit for people with 10+ of verifiable experience, but I went through this one because it was a field I had never worked in before, and the personnel I was speaking with were truly interesting.
Sans all of those qualifiers, anything more than 3 rounds is a deal breaker for me. If you don't know if I'm the right fit after 3 hours, verifiable experience, a public body of work, and a list of references, then your company culture isn't a good fit for me.
It's interesting to hear of these experiences because my own job applications have usually taken four steps:
* See the advert online, and send an email/fill out a form to apply.
* Have a quick phone-chat with a HR-person, where they ask about salary, history, and try to decide if I'm a chancer, or I have some somewhat useful skills.
* Have a 30-60 minute interview with some technical people, in-person.
* Optionally have a second interview with a tech-lead, or somebody else higher up the chain.
* Receive offer, rejection, or get ghosted.
Smaller companies sometimes have different processes. More than once I've sent an email/CV in to apply and been invited out for beer/food, and received a verbal offer the following morning. No other interviews, or tests.
I wonder if this is a way to crowd out competitors. Take up so much of a candidate's time that they can only interview at a handful of places successfully. Either the candidate goes all in on you or they pass without using your resources. Kinda the grocery store shelving model of competition.
Every bad hire costs the company $50,000 - 200,000. Sometimes more. They can also sink or demoralize teams.
Many of the people conducting interviews are new to the process and don't know how to extract signal. Sometimes scales don't line up.
When you have a revolving door of employees (because that's the way things are these days), have trouble scheduling interviews (busy engineers trying to get their own work done), and can't get enough skilled interviewers on a panel, then of course the process will be a suboptimal experience for candidates.
To a degree, companies would rather a good candidate was passed over than a bad candidate was accepted. Type I and II errors.
Companies also don't like telling candidates how they did because that opens them up to lawsuit liabilities.
You have to do enough interviews to get signal yet not piss off candidates. (Or your employees in the interview pool!)
If you go to an interview, you can probably suss out which are stringing you along and which want to hire quickly. Ask if they need a candidate immediately or are taking their time. Ask if your qualifications are exactly what they're looking for, and if you feel like a cultural fit for them. Ask if they have the budget and headcount to hire you immediately. Ask which teams the people interviewing you are on, to find out if they are all in different teams/departments or the same. Ask if each interviewer even knows who the the previous interviewer is in the company ("Frank who?"). Ask if they know exactly what they want you to work on. Follow up periodically to see if they are responding to you in a timely manner.
It's common for there to be some uncertainty with one or two of these things, but if there's a lot of uncertainty, you are being strung along. Best case they are waiting you out trying to find a better candidate, worst case they don't even have the budget for you and are playing politics within their company using you as leverage.
Interview multiple places in parallel, and don't cancel any interviews until you've got a signed piece of paper. But of course, prioritize the ones that aren't jerking your chain.
I am actually going through the hiring process now. I was a hiring manager at my last shop and I tried to be very respectful of the candidates time.
The process was first interview was 30 mins and basically a getting to know you and us session. Second interview was a two hour technical interview with debugging/fix this function type question and a single from scratch example question in the candidates language of choice. The final round was purely optional if the CTO or CEO wanted to meet the candidate (they rarely did).
If you made it through all that you got an offer. Of all the candidates I hired only 1 didn't work out long term.
Now that I am on the other end, I don't understand the need for this overly complex and generally noncommittal (on the employer side) process. If it's FAANG I am lucky if I can even get a fucking job description these days. They want to interview me for jobs I can't know about and best fit me for their needs. What about my needs? What about my time? If I can't even get a job description, why do you think I want to waste 3 hours doing "homework" before I can even talk to anyone for more than 10 minutes about what possible job I could be actually doing for you?
Hiring in Tech is broken and I don't know what we can do to fix it.
The FAANG's are throwing around so much money that people are willing to put up with almost any amount of abuse to be on the other side of the line. The FAANGs can deal out any amount of abuse and they will still have a line of applicants around the block--there is no negative feedback in the interview process no matter how bad they make it.
> Hiring in Tech is broken and I don't know what we can do to fix it.
Software hiring in the Valley is broken--possibly.
Hardware folks I know still go through the same old, same old. Single phone call with an engineer to make sure you're not simply a waste of oxygen. One on-site with 4-6 people (and 6 would be an unusually long day--generally that would mean you're doing well and some extra people want to talk to you). One week to response--two weeks MAX.
I think we can teach people how to hire. The way I would do it is three-part:
1. An exam. You literally take a test. This mostly takes care of the technical portion, evaluates your cognitive skills, IQ, EQ, whatever. The idea is to get a general idea of what you "know" and gives some baseline reference numbers. You could also do a "coding test" as part of the exam, but I would not lean too heavily on those as they are subjective too. You would need to look at the results to see where they were strong/weak, as for some roles it's fine to be weak one place and strong another.
2. A veteran/senior (or two) interviews the candidate, asking deep questions to probe into the person's actual experience - because experience is 1000% more important than "what you know". The way I do this is a "binary search" of questions both simple and very specific, and based on responses I get more general or more specific. I can very quickly discover how much real-world experience the person has this way.
3. An interview with the team. This is actually for the team, not the candidate. The team can see whether the candidate is a mesh for their particular culture. It's just as important that the candidate fits the team as whether they're capable of "performing".
Within this system, you wouldn't ever do more than 5 rounds (3 on average), you get a mix of "impartial facts" (the exam) and "gut feeling", and you still have the human factor both evaluating the person's experience/responses and checking for culture fit.
> If it's FAANG I am lucky if I can even get a fucking job description these days. They want to interview me for jobs and best fit me for their needs. What about my needs? What about my time? If I can't even get a job description, why do you think I want to waste 3 hours doing "homework" before I can even talk to anyone for more than 10 minutes?
Why don't you find people working on a problem you like, then ask them if they have open positions?
Working though engineers is almost always better than filtering though company recruiters. You'll wind up with a role you like rather than being stuffed into open head count.
I don't mind going through a single day with many rounds, but when it's spread out it's super frustrating. It feels really disrespectful of my time. I interviewed at Apple and had like 3 onsites with different teams all in one week and got the results quite quickly. It was such a good experience compared to some companies where it's such a chore.
I also think the attitude of companies during interviews really sucks. Many feel like they're doing you a favor or you're wasting their time. That was a distinct feeling I got when interviewing at Google, but not at Apple and I really think it's why I passed those and not google. They were collaborative and fun at Apple. I put a lot of effort into making candidates at my company feel welcomed and like they are already part of the team and IMO it really helps them succeed.
I once applied for a job at an oil trading hedge fund in London. The company was small, and everyone who worked there became a partner in the firm once they joined. There were about 23 people there IIRC. I did a 1 hour interview with one guy, a bit technical, a bit of random trivia. Then another guy, similar thing. Then the third guy.
After that I asked how many more interviews I should expect. To my horror the answer I got was "we only hire people if all the partners agree to hire you, we all have veto power, so you should expect to see everyone"... so TWENTY more interviews. I rather abruptly told the guy that was insane and I didn't have time for that, shook his hand and walked out. He seemed perplexed.
It can get very demoralising as an interviewer when you interview dozens of candidates, and none meet the bar - and even the ones you rate hire or leaning hire get rejected by the hiring committee. When I first started interviewing (at Google) I was like the Apple interviewers you admire, but I have slowly become inured the process and now I probably give candidates the impression that I've seen it all before and I would rather be doing something else - because it's true.
But the alternative is more filtering before the main round of interviews, to increase the base success rate of candidates, which many people hate (see many other comment threads on this post). And too much would turn off the best candidates probably more than the worse candidates, as they have more outside options.
I work at Big Ass Corporation, Inc. in the US (there’s a very strong chance you use one or more of our services). Hiring is fucking awful. First of all it’s nearly impossible to get approval for a req in the first place. I’m actively looking to leave just because of that…but that’s a different rant than this one.
Once a req is approved then it goes out to the team to disperse as well as hr. Some roles get handed off to the critical search team if the hiring manager pushes hard enough. But that doesn’t really matter.
We get flooded with candidates. Almost every one of them could probably do the job so we have to figure out who could do it best through the interview process. I personally never ask stupid gotcha puzzle questions because those annoy me as much as they do most folks here. I ask people to talk about their experience as it relates to the role. Usually this means I ask about how they solved a truly difficult problem at work, what made it difficult and how they were able to overcome it. Then I like to get into the technical stuff of what they implemented and why. Mostly I just like letting people who are proud of something they’ve done get a chance to talk about it.
Anyway we’re supposed to score people based on these arbitrary metrics like longevity (how long we think they will stay) and communication ability (this is very, very close to being racist…draw your own conclusions).
I never score people. Managers ask me why and I say because I don’t interview spreadsheets.
Anyway I’m one of usually 4 interviews. I interview by myself and the rest are all panel interviews. And once you finish the last panel that’s the last you hear from us unless you get an offer. I hate it.
> communication ability (this is very, very close to being racist…draw your own conclusions)
I'm trying to draw my own conclusion but I'm confused. Communication ability is very important for developers and other technical roles. We need to be able to talk to each other about our work, and in many organizations we also need to be able to work effectively with other non-technical staff.
Of course, this doesn't mean that you have to speak or write the company's primary language in some particular way, as long as you can make yourself understood. Nor does it require that you speak that language as your first language.
Is there something specific about _how_ Big Ass Corporation is evaluating communication ability that is racist?
It sounds like you do what you can. Unfortunately, people like you leave as they can't put up with it any longer and the company is just left with people who are happy with the status quo.
People are getting less and less willing to deal with bullshit when they're in massive demand and there is a talent shortage in $x industry. And they're finding out they can move around easily now too in this remote-first world.
Something is going to have to change - really a lot of things. One of them is going to be that companies need to learn to figure out how to hire people without putting them through a grind-fest. Figure out how to deal with bad hires after-the-fact, but don't let yourself get screwed not hiring good talent because you made the interview process a giant pain in the ass to catch the crap.
Oh and compensation needs to go up to make some of these interview grinds worth it.
I was semi-actively hunting for a role a year ago.
The worst offender was a company I had five meetings with, 3 of which were identical code reviews for the same code test. None of the reviewers realized I already had the code review with their peers. None knew what the next step was.
Most companies just didn't have an organized funnel for candidates.
The one that did I quickly took the job offer at. Here's what they did right:
1. The recruiter prepped me for each interview as if they were a good friend looking out for me. They told me who I was talking with and what hobbies they had so I could relate to them.
2. I knew of each meeting and its format in advance. It's weird I'm calling this out as it seems simple, but here we are :-)
3. The code review was paid. And actually quite fun. The previous company code review was unpaid and 20 hours of 'implement a REST API'
4. The engineering team was actually trained on recruiting. Each one had read my resume and asked detailed questions about my hobbies, experiences, etc. Engineers elsewhere hadn't read my resume at all.
5. I always had quick feedback on technical meetings and didn't have more than three.
The most important difference I noticed is that most companies were ambivalent seeing me fail.. a select few even seemed to crave that.
Currently investing 2 hours of my time per job offer:
- investigating the role, the company, their stupid website, their made up culture
- doing the unpaid take home tests (currently investing 8 hours doing a technical test for yet another stupid startup)
- answering dumb questions ("why do you want to work for $neverheardofstartup?") on fancy js forms
- having to register to their stupid career backend, thanks for yet another chance of having my inbox filled with spam because you don't know how to encrypt data
- uploading hours and hours of video presentations (as if cover letters weren't dumb enough)
only to be canned with a copy-paste "due to the amount of curricula we received unfortunately we cannot provide feedback - good luck with your job search" nonsense.
And if I'm lucky enough not to be weeded out by a bored-to-death HR person with the attention span of a starving kitten, this was just interview step 1/5
Interviewing these days is not a technical challenge. It’s a fraternity/sorority rushing week.
Technically I was qualified and able to answer their questions. But ultimately was turned down after 6 rounds of interviewing. I think I was heavily dinged because I wasn’t entirely familiar with their product in the wild, and was never given any hint as to what product I would be working on.
I'm surprised good programmers have the time/patience for 6 interviews. I think 3, maybe 4 is my max. If you can't figure out my skills in that amount of time, your process is broken.
I also disagree that interviewing is not a technical challenge. For most programmers it is. There are very few who can breeze through FAANG-level technical interviews.
At one startup I did a couple rounds of phone interviews and a full day of in person interviews. Lastly I got to chatting with the co-founder. I can't remember the precise question I asked about how they were building out the team, but I clearly remember the answer. They made the interview process longer and more involved in an effort to narrow the field of candidates.
I understand the reasoning: if you think you have a special mission and want people dedicated to that mission, filter by dedication. But I'm not really sure there is a way for any one candidate to consume as much time interviewing for a role as that company could consume out of a pool of candidates. And that includes my smart-ass idea of trying to interview at Pinterest and stopping in the middle of the interview saying "please sign up to see the rest of this whiteboard solution".
> Five companies told him they had to delay hiring because of Covid-19 – but only after he’d done the final round of interviews.
This is a typical HR strategy to keep themselves busy so they don't get laid off. HR is not a revenue generating department, so even if they aren't hiring, then they still need to push paper.
I work for a big 4 consulting firm and I think our process works well and is extremely short. We hire financial engineers (quants) and data scientists. I’ve lived through working with hundreds of hires and can say from actual experience it works quite well. This is our process:
1. Review resumes to see who meets the criteria based on credentials.
2. Recruiter phone screen to screen for any glaring issues
3. We conduct an interview day and the candidate interviews with 3-4 people (30 minutes each). We have a mix of levels conducting interviews but make sure to have at least 2 leaders from our practice. We try to make sure we collectively poke around all areas (technical, cultural, communication).
4. That same day or the following day (want to make sure candidate is fresh in our heads) we discuss candidate.
5. Each interviewer (starting with the most junior) has to speak about candidate and rate them from 1-3. It can be any decimal rating but cannot be a 1.5 (an “I don’t know” answer).
6. Interestingly, we are mostly in the same ballpark on these calls and when we move forward, we are generally happy with that person.
I can’t speak for the candidate who may have to wait a bit between application, recruiter conversation, and interviews. But at the very least, the interview to decision process is pretty painless and you’ll have a decision within 2 days max.
Having recently won the google hiring lottery, I wanted to add my experience
total length of time ~ 7 months
emails sent/received ~ 50
phone calls ~ 20
technical interviews: 7 (1 with screen with recruiter, 6 with engineers)
team match interviews: 3 (for me at least these were real interviews, in that I "flunked" the first 2, and decided to take the 3rd one very seriously before getting an offer)
Before getting hiring approval, I honestly felt that I would get rejected, and I can honestly say that being more "personable" and very "communicative" probably had a lot to do with why I made it through.
My honest advice would be to stop thinking of these long interview processes in terms of a a binary outcome that you have complete control over. Instead, think of it as trying to maximize some hidden parameter of a binomial distribution, where every interaction slightly increases your odds in the final coin flip.
I think the post-covid wfh job market has clouded something a bit which is that the tech industry in particular is becoming increasing oversaturated.
There is so many people applying for positions now that companies are resorting to these more and more annoying filtering processes.
My first job in this field 14 years ago was one interview and I got the job the next day. That would be almost impossible today.
I blame it on two things, oversaturation of the "learn to code" meme and the rise and growth of recruitment agencies and their influence on HR practices. They have to justify their own jobs after all - just 10 years ago there wasn't really much of a concept of an HR or IT recruiter as far as I recall - or it was just emerging.
I've said this before but I believe this field is becoming increasingly commodified. Soon you will be either a "white-collar" fang or a blue-collar "independent contractor".
Google took 3 months. 1 month was from the virtual onsite final interviews to the Hiring Committee decision. It was a miserable month and even my wife hated Google by the end.
Second was for a Director of Engg position at a mid sized company. It took 2 months and finally I had to force them to answer. It was a company with weak leadership and it showed in their inability to make a decision.
I interviewed with four companies back in May for staff engineer roles(or staff equiv). Based on that experience and my current employers process a somewhat baseline expectation can be:
* Phone screen with recruiter that reached out to you
* Screen with the hiring manager
* Behavioral interview with multiple peeps
* Code pairing session with multiple peeps
* System design session with multiple peeps
So AT LEAST 5 hours time commitment just on interviews. Add time to research the company, its employees, and etc. Maybe the code pairing is instead an at-home test of some sort. This could potentially add hours(or in the case of Teleport like 20+ hours). Just engaging with a handful of companies was a huge amount of extra work and stress on top of existing responsibilities.
I pulled out of three voluntarily and declined an offer from the last for various reasons, opting to stick out till my RSU cliff in October. For the next round of engagements I may start toying with filtering out companies based on their hiring process as well and giving push back on it to see what happens.
[+] [-] silisili|4 years ago|reply
My experience ended when an interviewer in round 3 or 4 asked me an obviously scripted question. I answered sarcastically, he got peeved, and I never heard from them again.
I'm not claiming I'm Google caliber, whatever that means. Obviously I'm not because I don't have the patience for their interview questions.
To be clear, the entire question was: What's not in a Linux inode?
My answer was: Lots of things...dinosaurs, the moon...
The interviewer told me very matter of factly that it was in fact, the filename.
I honestly lost all respect for the process, sorry Googlers.
[+] [-] vegetablepotpie|4 years ago|reply
In the real world, you cannot remove risk. You can manage it, but you cannot remove it. Asking candidates to go through 6 interviews before making a decision and not telling them when a decision will be made signals a risk adverse culture that cannot make decisions.
[+] [-] buro9|4 years ago|reply
By the time we got to the end of the process I'd already concluded that the hiring process was a reflection of their internal decision making and that this was not a company (or department) I wanted to work for.
Then I was hired elsewhere and I saw something similar happen to a candidate and realised that this was truly an indication of the indecision. We had lots of roles, just none shaped in a way that fitted the person, and what we should've done is reject the person but on that occasion we hired and it was a terrible decision. They were a good person and very capable, but not a fit for the role finally offered. I had the sense that if I had accepted the Amazon role that would've been true for me too.
An interview process of more than 3-4 defined steps that takes longer than a month to schedule, is a bad sign.
Top tip for candidates: Ask what the process is, if they cannot conclusively tell you then double down on interviewing at a company that can.
[+] [-] amznbyebyebye|4 years ago|reply
[+] [-] d0gsg0w00f|4 years ago|reply
[+] [-] TheHypnotist|4 years ago|reply
Edit: Meant LP's. Leadership Principles.
[+] [-] gorpomon|4 years ago|reply
1. On my first chat with a candidate, I layout the entire interview process. I acknowledge that it is long and I preemptively thank them for going through the process and say that we value their time. I make sure our recruiters can reiterate the process as clearly as I can.
2. I let the candidate know that at any time if they want to pull out, that is a-ok, and that they are welcome to apply again in the future in good standing. I also tell them that during our coding assignment, we really mean it when we say it's ok to ask for more time, and that we don't judge them negatively.
3. I tell the candidate that if at any point we decide to decline, that I will send them a written letter of feedback so as to make the process worth their time. This isn't always easy, but it's always been appreciated. Sometimes it is hard to write these letters, how do you tell someone multiple interviewers didn't like them? I do it by pressing our interviewers to state clearly what didn't come across well, and then I relay those things to the candidate. Sometimes even still the letters probably aren't super satisfying to the declined candidates, but I do my best and hope everyone realizes that job hunting in general is rarely satisfying.
Basically, transparency, honesty and specifically thanking them have gone a long way for me. I fully understand that an underfunded/understaffed startup might balk at the feedback part, especially when lawyers can get involved. But offering up items #1 and #2 to candidates should just be table stakes of your hiring process.
[+] [-] ChrisMarshallNY|4 years ago|reply
One thing that I noticed at my company:
When I first got hired (in 1990), it was made clear that I was a desired and valued employee. They were a very picky company, and might well have rejected me, but I felt respected and valued, from my first interview (I was flown out to the West Coast, and interviewed by two managers at a trade show).
As the years have gone by, I noticed that our HR department started to have a very different posture. They had to be the ones in charge. Applicants were supplicants. The company was doing them a favor, by considering them for this position.
Also, the HR department started to project this attitude to current employees, to a visibly increasing degree, over the 27 years that I was at that company. By the time I left, the HR posture was that employees were little more than serfs. There was no illusion that employment was a two-way relationship. They started to impose some really draconian policies on employees, with "termination of employment" as the only choice, if the new policy was not acceptable. No negotiations.
I think that this is an attitude that has become a standard in HR, these days, and that part of the reason for this interview process, is to filter for people that won't talk back to HR, and are willing to abase themselves for the company.
[+] [-] krab|4 years ago|reply
> I acknowledge that it is long [...] and say that we value their time.
I dislike this communication style. Maybe it's a cultural difference. I've heard several times from an American speaker that they "value my time/comfort/satisfaction". At the same time their act clearly showed that they valued something else much more.
For me, your sentence would sound much more personal if you just omitted this last part and kept only the explanation.
[+] [-] sumtechguy|4 years ago|reply
Thank you for doing that sort of thing. It really helps.
[+] [-] pnt12|4 years ago|reply
However, I don't think I'd value it after more than 3 interviews. Candidates are applying after work hours and there's a time / energy limit to how many processes they can take at a time. After a given point, you're wasting not hours but possibly months of their life.
[+] [-] dr_orpheus|4 years ago|reply
Especially if there is an assignment with the interviews I really think that feedback should be required. I spent about a week on an assignment like this with 3 interviews and just got back a "nope, sorry". And it wasn't even from anyone I had interviewed with, just the original recruiter.
[+] [-] mildweed|4 years ago|reply
[+] [-] hardwaregeek|4 years ago|reply
I've noticed though that as I've gotten more specialized to compilers and programming languages, my application experience has improved significantly. It's not a large sample size but the last few processes I've gone through have been fewer interviews that usually involve going over a project of mine or doing a problem that's related to compilers. It's really refreshing to have an interview where I actually learn something about my field of interest during it. I know that doesn't scale because we shouldn't expect compilers knowledge for junior compilers jobs but it's a very nice change of pace for me.
[+] [-] virgilp|4 years ago|reply
Look, a lot of people have good-looking CVs and can't code shit. I don't know about you but my experience was that one really can't hire based on CV alone. Also, I've seen "architects" that are smart and fairly knowledgeable people that failed to code very very basic stuff (as in, merge 2 sorted arrays).... I get it that at some companies you are expected to draw diagrams in Confluence as a main job, and might no longer have actual coding skills; but we want even the most senior people to actually code, and that doesn't seem unreasonable to me. So just because you're a very-senior FAANG employee doesn't automatically mean you'd be a good fit. I'm not saying they're bad employees, but maybe they just wouldn't be a good fit and wouldn't enjoy the job if they expect to just design stuff instead of actually implementing, too.
[+] [-] Dig1t|4 years ago|reply
Currently I'm going through the interview process with a ton of companies (because my company is really dumb and is forcing everyone to move back to a certain bay area city post-covid), and I have been happily surprised to find that most of my interviews are very practical, project based, ones instead of straight whiteboarding leetcode problems. I've received several take-home projects that are followed up with a simple add-on interview to sit down and explain the choices made during the take-home. They have all been specifically focused on domain knowledge to the mobile platform that I'm interviewing for. Its really nice! I hope this trend continues.
That said, I am still reviewing leetcode problems for the stupid faang interviews I have coming up as well.
[+] [-] andrew_|4 years ago|reply
[+] [-] onion2k|4 years ago|reply
[+] [-] purplecats|4 years ago|reply
more competition = worse time for you
[+] [-] Aeolun|4 years ago|reply
[+] [-] andrew_|4 years ago|reply
Sans all of those qualifiers, anything more than 3 rounds is a deal breaker for me. If you don't know if I'm the right fit after 3 hours, verifiable experience, a public body of work, and a list of references, then your company culture isn't a good fit for me.
[+] [-] stevekemp|4 years ago|reply
* See the advert online, and send an email/fill out a form to apply.
* Have a quick phone-chat with a HR-person, where they ask about salary, history, and try to decide if I'm a chancer, or I have some somewhat useful skills.
* Have a 30-60 minute interview with some technical people, in-person.
* Optionally have a second interview with a tech-lead, or somebody else higher up the chain.
* Receive offer, rejection, or get ghosted.
Smaller companies sometimes have different processes. More than once I've sent an email/CV in to apply and been invited out for beer/food, and received a verbal offer the following morning. No other interviews, or tests.
[+] [-] Plasmoid|4 years ago|reply
[+] [-] echelon|4 years ago|reply
Every bad hire costs the company $50,000 - 200,000. Sometimes more. They can also sink or demoralize teams.
Many of the people conducting interviews are new to the process and don't know how to extract signal. Sometimes scales don't line up.
When you have a revolving door of employees (because that's the way things are these days), have trouble scheduling interviews (busy engineers trying to get their own work done), and can't get enough skilled interviewers on a panel, then of course the process will be a suboptimal experience for candidates.
To a degree, companies would rather a good candidate was passed over than a bad candidate was accepted. Type I and II errors.
Companies also don't like telling candidates how they did because that opens them up to lawsuit liabilities.
You have to do enough interviews to get signal yet not piss off candidates. (Or your employees in the interview pool!)
It's a hard problem for companies too.
[+] [-] unknown|4 years ago|reply
[deleted]
[+] [-] throwaway984393|4 years ago|reply
It's common for there to be some uncertainty with one or two of these things, but if there's a lot of uncertainty, you are being strung along. Best case they are waiting you out trying to find a better candidate, worst case they don't even have the budget for you and are playing politics within their company using you as leverage.
Interview multiple places in parallel, and don't cancel any interviews until you've got a signed piece of paper. But of course, prioritize the ones that aren't jerking your chain.
[+] [-] brailsafe|4 years ago|reply
[+] [-] ajna91|4 years ago|reply
[+] [-] kxrm|4 years ago|reply
The process was first interview was 30 mins and basically a getting to know you and us session. Second interview was a two hour technical interview with debugging/fix this function type question and a single from scratch example question in the candidates language of choice. The final round was purely optional if the CTO or CEO wanted to meet the candidate (they rarely did).
If you made it through all that you got an offer. Of all the candidates I hired only 1 didn't work out long term.
Now that I am on the other end, I don't understand the need for this overly complex and generally noncommittal (on the employer side) process. If it's FAANG I am lucky if I can even get a fucking job description these days. They want to interview me for jobs I can't know about and best fit me for their needs. What about my needs? What about my time? If I can't even get a job description, why do you think I want to waste 3 hours doing "homework" before I can even talk to anyone for more than 10 minutes about what possible job I could be actually doing for you?
Hiring in Tech is broken and I don't know what we can do to fix it.
[+] [-] bsder|4 years ago|reply
And that's really the issue.
The FAANG's are throwing around so much money that people are willing to put up with almost any amount of abuse to be on the other side of the line. The FAANGs can deal out any amount of abuse and they will still have a line of applicants around the block--there is no negative feedback in the interview process no matter how bad they make it.
> Hiring in Tech is broken and I don't know what we can do to fix it.
Software hiring in the Valley is broken--possibly.
Hardware folks I know still go through the same old, same old. Single phone call with an engineer to make sure you're not simply a waste of oxygen. One on-site with 4-6 people (and 6 would be an unusually long day--generally that would mean you're doing well and some extra people want to talk to you). One week to response--two weeks MAX.
WTF are you software people doing?
[+] [-] throwaway984393|4 years ago|reply
1. An exam. You literally take a test. This mostly takes care of the technical portion, evaluates your cognitive skills, IQ, EQ, whatever. The idea is to get a general idea of what you "know" and gives some baseline reference numbers. You could also do a "coding test" as part of the exam, but I would not lean too heavily on those as they are subjective too. You would need to look at the results to see where they were strong/weak, as for some roles it's fine to be weak one place and strong another.
2. A veteran/senior (or two) interviews the candidate, asking deep questions to probe into the person's actual experience - because experience is 1000% more important than "what you know". The way I do this is a "binary search" of questions both simple and very specific, and based on responses I get more general or more specific. I can very quickly discover how much real-world experience the person has this way.
3. An interview with the team. This is actually for the team, not the candidate. The team can see whether the candidate is a mesh for their particular culture. It's just as important that the candidate fits the team as whether they're capable of "performing".
Within this system, you wouldn't ever do more than 5 rounds (3 on average), you get a mix of "impartial facts" (the exam) and "gut feeling", and you still have the human factor both evaluating the person's experience/responses and checking for culture fit.
[+] [-] echelon|4 years ago|reply
Why don't you find people working on a problem you like, then ask them if they have open positions?
Working though engineers is almost always better than filtering though company recruiters. You'll wind up with a role you like rather than being stuffed into open head count.
I've done this. It works.
[+] [-] ironman1478|4 years ago|reply
I also think the attitude of companies during interviews really sucks. Many feel like they're doing you a favor or you're wasting their time. That was a distinct feeling I got when interviewing at Google, but not at Apple and I really think it's why I passed those and not google. They were collaborative and fun at Apple. I put a lot of effort into making candidates at my company feel welcomed and like they are already part of the team and IMO it really helps them succeed.
[+] [-] valdiorn|4 years ago|reply
After that I asked how many more interviews I should expect. To my horror the answer I got was "we only hire people if all the partners agree to hire you, we all have veto power, so you should expect to see everyone"... so TWENTY more interviews. I rather abruptly told the guy that was insane and I didn't have time for that, shook his hand and walked out. He seemed perplexed.
... they went bust about a year later.
[+] [-] brainwad|4 years ago|reply
But the alternative is more filtering before the main round of interviews, to increase the base success rate of candidates, which many people hate (see many other comment threads on this post). And too much would turn off the best candidates probably more than the worse candidates, as they have more outside options.
[+] [-] theshadowknows|4 years ago|reply
Once a req is approved then it goes out to the team to disperse as well as hr. Some roles get handed off to the critical search team if the hiring manager pushes hard enough. But that doesn’t really matter.
We get flooded with candidates. Almost every one of them could probably do the job so we have to figure out who could do it best through the interview process. I personally never ask stupid gotcha puzzle questions because those annoy me as much as they do most folks here. I ask people to talk about their experience as it relates to the role. Usually this means I ask about how they solved a truly difficult problem at work, what made it difficult and how they were able to overcome it. Then I like to get into the technical stuff of what they implemented and why. Mostly I just like letting people who are proud of something they’ve done get a chance to talk about it.
Anyway we’re supposed to score people based on these arbitrary metrics like longevity (how long we think they will stay) and communication ability (this is very, very close to being racist…draw your own conclusions).
I never score people. Managers ask me why and I say because I don’t interview spreadsheets.
Anyway I’m one of usually 4 interviews. I interview by myself and the rest are all panel interviews. And once you finish the last panel that’s the last you hear from us unless you get an offer. I hate it.
[+] [-] autarch|4 years ago|reply
I'm trying to draw my own conclusion but I'm confused. Communication ability is very important for developers and other technical roles. We need to be able to talk to each other about our work, and in many organizations we also need to be able to work effectively with other non-technical staff.
Of course, this doesn't mean that you have to speak or write the company's primary language in some particular way, as long as you can make yourself understood. Nor does it require that you speak that language as your first language.
Is there something specific about _how_ Big Ass Corporation is evaluating communication ability that is racist?
[+] [-] FinanceAnon|4 years ago|reply
[+] [-] voidfunc|4 years ago|reply
Something is going to have to change - really a lot of things. One of them is going to be that companies need to learn to figure out how to hire people without putting them through a grind-fest. Figure out how to deal with bad hires after-the-fact, but don't let yourself get screwed not hiring good talent because you made the interview process a giant pain in the ass to catch the crap.
Oh and compensation needs to go up to make some of these interview grinds worth it.
[+] [-] zschuessler|4 years ago|reply
The worst offender was a company I had five meetings with, 3 of which were identical code reviews for the same code test. None of the reviewers realized I already had the code review with their peers. None knew what the next step was.
Most companies just didn't have an organized funnel for candidates.
The one that did I quickly took the job offer at. Here's what they did right:
1. The recruiter prepped me for each interview as if they were a good friend looking out for me. They told me who I was talking with and what hobbies they had so I could relate to them.
2. I knew of each meeting and its format in advance. It's weird I'm calling this out as it seems simple, but here we are :-)
3. The code review was paid. And actually quite fun. The previous company code review was unpaid and 20 hours of 'implement a REST API'
4. The engineering team was actually trained on recruiting. Each one had read my resume and asked detailed questions about my hobbies, experiences, etc. Engineers elsewhere hadn't read my resume at all.
5. I always had quick feedback on technical meetings and didn't have more than three.
The most important difference I noticed is that most companies were ambivalent seeing me fail.. a select few even seemed to crave that.
[+] [-] tomcooks|4 years ago|reply
- investigating the role, the company, their stupid website, their made up culture
- doing the unpaid take home tests (currently investing 8 hours doing a technical test for yet another stupid startup)
- answering dumb questions ("why do you want to work for $neverheardofstartup?") on fancy js forms
- having to register to their stupid career backend, thanks for yet another chance of having my inbox filled with spam because you don't know how to encrypt data
- uploading hours and hours of video presentations (as if cover letters weren't dumb enough)
only to be canned with a copy-paste "due to the amount of curricula we received unfortunately we cannot provide feedback - good luck with your job search" nonsense.
And if I'm lucky enough not to be weeded out by a bored-to-death HR person with the attention span of a starving kitten, this was just interview step 1/5
Fuck you, from the bottom of my heart.
[+] [-] xyst|4 years ago|reply
Technically I was qualified and able to answer their questions. But ultimately was turned down after 6 rounds of interviewing. I think I was heavily dinged because I wasn’t entirely familiar with their product in the wild, and was never given any hint as to what product I would be working on.
[+] [-] bufferoverflow|4 years ago|reply
I also disagree that interviewing is not a technical challenge. For most programmers it is. There are very few who can breeze through FAANG-level technical interviews.
[+] [-] MarkSweep|4 years ago|reply
I understand the reasoning: if you think you have a special mission and want people dedicated to that mission, filter by dedication. But I'm not really sure there is a way for any one candidate to consume as much time interviewing for a role as that company could consume out of a pool of candidates. And that includes my smart-ass idea of trying to interview at Pinterest and stopping in the middle of the interview saying "please sign up to see the rest of this whiteboard solution".
[+] [-] nowherebeen|4 years ago|reply
This is a typical HR strategy to keep themselves busy so they don't get laid off. HR is not a revenue generating department, so even if they aren't hiring, then they still need to push paper.
[+] [-] ryeguy_24|4 years ago|reply
1. Review resumes to see who meets the criteria based on credentials.
2. Recruiter phone screen to screen for any glaring issues
3. We conduct an interview day and the candidate interviews with 3-4 people (30 minutes each). We have a mix of levels conducting interviews but make sure to have at least 2 leaders from our practice. We try to make sure we collectively poke around all areas (technical, cultural, communication).
4. That same day or the following day (want to make sure candidate is fresh in our heads) we discuss candidate.
5. Each interviewer (starting with the most junior) has to speak about candidate and rate them from 1-3. It can be any decimal rating but cannot be a 1.5 (an “I don’t know” answer).
6. Interestingly, we are mostly in the same ballpark on these calls and when we move forward, we are generally happy with that person.
I can’t speak for the candidate who may have to wait a bit between application, recruiter conversation, and interviews. But at the very least, the interview to decision process is pretty painless and you’ll have a decision within 2 days max.
[+] [-] discmonkey|4 years ago|reply
total length of time ~ 7 months emails sent/received ~ 50 phone calls ~ 20 technical interviews: 7 (1 with screen with recruiter, 6 with engineers)
team match interviews: 3 (for me at least these were real interviews, in that I "flunked" the first 2, and decided to take the 3rd one very seriously before getting an offer)
Before getting hiring approval, I honestly felt that I would get rejected, and I can honestly say that being more "personable" and very "communicative" probably had a lot to do with why I made it through.
My honest advice would be to stop thinking of these long interview processes in terms of a a binary outcome that you have complete control over. Instead, think of it as trying to maximize some hidden parameter of a binomial distribution, where every interaction slightly increases your odds in the final coin flip.
[+] [-] mouzogu|4 years ago|reply
There is so many people applying for positions now that companies are resorting to these more and more annoying filtering processes.
My first job in this field 14 years ago was one interview and I got the job the next day. That would be almost impossible today.
I blame it on two things, oversaturation of the "learn to code" meme and the rise and growth of recruitment agencies and their influence on HR practices. They have to justify their own jobs after all - just 10 years ago there wasn't really much of a concept of an HR or IT recruiter as far as I recall - or it was just emerging.
I've said this before but I believe this field is becoming increasingly commodified. Soon you will be either a "white-collar" fang or a blue-collar "independent contractor".
[+] [-] 100-xyz|4 years ago|reply
Google took 3 months. 1 month was from the virtual onsite final interviews to the Hiring Committee decision. It was a miserable month and even my wife hated Google by the end.
Second was for a Director of Engg position at a mid sized company. It took 2 months and finally I had to force them to answer. It was a company with weak leadership and it showed in their inability to make a decision.
[+] [-] Rapzid|4 years ago|reply
* Phone screen with recruiter that reached out to you
* Screen with the hiring manager
* Behavioral interview with multiple peeps
* Code pairing session with multiple peeps
* System design session with multiple peeps
So AT LEAST 5 hours time commitment just on interviews. Add time to research the company, its employees, and etc. Maybe the code pairing is instead an at-home test of some sort. This could potentially add hours(or in the case of Teleport like 20+ hours). Just engaging with a handful of companies was a huge amount of extra work and stress on top of existing responsibilities.
I pulled out of three voluntarily and declined an offer from the last for various reasons, opting to stick out till my RSU cliff in October. For the next round of engagements I may start toying with filtering out companies based on their hiring process as well and giving push back on it to see what happens.