It was made the clearest to me when I interviewed a colleague who had left to another company and two years later was interviewing to return. I knew he knew everything and had the skills for the job because, well, I know him, I’d worked with him before. He’d done this very job previously. Yet he still performed terribly in the interview and (rightly or wrongly) I had to base my evaluation on my knowledge of him rather than his performance in the interview. Interviews suck so much for evaluating people. If you want a job and good career progression the best advice has to be prioritize making friends with lots of people.
I feel in the tech industry, networking and knowing people only gets you so far - typically just to the whiteboard interview. Then you have to solve the leetcode problems just like everyone else. Especially so in larger companies.
FWIW, all of my friends who somehow managed to get into FAANG or other top tech companies swear that were they to go through the interview again, odds are they would fail. This despite all of them being great engineers.
I'm actually a little scared to leave my current FAANG gig for that exact reason tbh. I'm fairly certain I wouldn't make it back in the door without more leetcode grinding + repeated loops than I'm willing to do at this point in my career.
Plus, stack on top of that, I've seen how the sausage is made. I've done 90+ interviews on the other side. At the end of the day, it comes down to how lucky you got in the loop. I've seen some people written off for some bullshit reasons. Similarly, I'VE declined on people who're likely far, far, far more skilled than I am because of the lowers/raises approach and the narrow slice you're tasked with reviewing in the 50min you're given.
I'm in a similar position - a tech lead role at a Big N - and have recently been doing some interviews for senior roles at FAANG. The most frustrating thing is knowing I can't really leverage anything I've learned over the past 7 years of my career in the interview, at least at the early stages. I've been "studying" Leetcode after work for a month or so but always seem to make stupid mistakes under the time pressure of the interview. I don't want to spend my entire career at one company, but it's clear I'll need to be very lucky and/or practice much harder on my own time if I want anything like a similar position/salary elsewhere.
This is something I find so disturbing, and I experience similar.
I feel extremely little of what I'm doing in my real, actual, job, helps me in advancing in my career. Unless maybe if I choose to stay at my current company until retirement lol.
Otherwise, why bother doing anything more than the bare minimum to get by at work? It would be a far better investment of time and effort to grind leetcode and practice for interviews, instead of going above and beyond to excel at my job. At least until I get into an "endgame company" where I feel it's worth staying long term.
If you want a good career, working on your interviewing skills is the most important thing. Networking and resume fluff are close seconds. Job skill is almost irrelevant. It's an ugly truth.
I think the answer is we need more innovation. We need a million small startups instead of a dozen tech giants. Software scales but starting up is a moonshot.
My personal career epiphany was moving from a tech giant to a late-stage, pre-IPO startup. The amount of freedom and range of challenges I dealt with were exhilarating. Did it pay as much? Not in the beginning, but I was given the room to grow.
At some rare companies people ask questions about real-world scaling which has been nice to leverage some actual knowledge but that's usually just a small part of the process and almost treated as a soft-skill which is kind of hilarious.
We just really want to hire a senior dev who can spit out highly optimized code that in the real-world would be handled by a stable open source library rather than people who have built stable systems.
My dream is to have some kind of "working for myself" career like the creators of the Apollo or Overcast apps. Not contracting with companies as clients, just working on one small great project for regular people to use and selling it yourself. It sounds fantastic.
Stop lumping Apple into FAANG in this way. Facebook, Amazon, Netflix and Google all have centralized hiring. Apple does not and no two groups interview the same and there is tons of latitude for managers to make this lower toil. There is no cross-organization level setting or job descriptions for any position at Apple outside of an SVP business unit. I know from experience working at two other FAANGs that Apple does things way differently. Apple's biggest weaknesses and strengths come from their lack of centrality, but here it is to the benefit of the interviewee since they are given more individual care out at the periphery.
Amazon does not really have centralized hiring. Each team hires for itself, though there are bar raisers from outside the team designed to be a counterweight to desperate hiring managers.
Lowers/raises the bar. As part of interview feedback an interviewer is supposed to rate the interviewee as raises/meets/lowers.
Typically, just one lowers in an a loop of 6 interviews is sufficient to reject. On the other hand, a loop with all "meets" isn't a sufficient either. It needs about 3-4 "raises" to overcome just one "lowers". With two "lowers" the candidate won't even make it to the debrief or worse the loop will be cut-short.
The bar-raiser (it's their job) are expected to specifically look for candidates who raise the bar. Raising the bar == better than 50% of "employees" (not job seekers) at their level. The rationale, when the bar-raiser program was created, was that the collective competency in a corporation should increase as more employees are inducted.
Source: I was a bar-raiser at Amazon; 400+ interviews, 300+ as bar-raiser, conducted hiring boot camp, bar-raiser trainings, trained bar-raisers.
Bar-raiser program didn't have a feedback loop to track its effectiveness. Bar raisers periodically met to discuss topics related to hiring and increasing interview bandwidth but we didn't evaluate the process as such.
That said, the program (like any such program I guess) didn't scale well with the immense pressure on increasing the head-count which in itself was a result of delivering more. Hiring managers and recruiters (who are incentivised to hire more) would rig up interview loops in a way to get their candidates through.
The program itself came under increasing scrutiny (I guess for the right reasons) as being too restrictive. I distinctly remember period between 2008-2012 they hired at a blistering pace, all over the world. In fact in Seattle when they moved into SLU campus the buildings went from empty to nearly 100% occupancy in a matter of year or so. You could even see it based on the number of product launches from 2012 onwards (AWS, the hardware products, new country launches etc.,).
And now Amazon is such a behemoth that it doesn't even make sense to speak about it or analyse it as a single entity anymore. My prediction is in 5-8 years it'll be broken up into at least three companies under Amazon as a holding corporation --- cloud, retail, and consumer devices.
My judgment of Amazon is tainted badly by a bad apple we couldn't fire soon enough - I had the unsavory role to collect evidence for failing the PIP that would inevitably happen. Week after person was let go, he was at Amazon in a pretty good division.
I keep wondering how they hired this person - never in a million years would they have passed a regular hiring chain even with fizzbuzz type questions. Wonder if they had someone stand in for the interviews.
It's often been mentioned that interviewing skills is different from actual work skills. Could be that he's an interviewing wiz but a poor day to day engineer?
Netflix is well known for firing people that don't pull their weight with far more ease than most companies. But a friend who works there tells me there's still people there that perform poorly but somehow managed to get both hired and stay on.
Companies tend to keep track of the onsite success to failure ratio and then if it's too low examine if the bar raising is too aggressive.
Which ends up going in the direction of meetings like "Should we standardize on what questions we are asking in interviews?" or "Should we standardize what pass means or fail means for a particular problem?"
The general approach to dealing with low diversity in a team seems to be to increase the percentage of phone screens being allotted to diversity candidates (which on the other hand reduces the number of non-diversity applicants that get a phone screen).
And not actually lowering the bar during an interview / hiring committee meeting.
While I was there, increasing diversity wasn't a priority for them. Now that I think about it, I don't remember diversity even as a discussion topic let alone efforts to address it.
I don't know what company they're referring to but at Amazon, the criteria for hiring someone is that interviewee would be better than 50% of the people currently doing that role at the company. They should 'raise the bar' in order to be hired.
how do you even gauge that? it sounds like you'd need to keep re-interviewing the current people there to make it relative and fair. which of course isnt going to happen so "raising" the bar doesnt make any sense whatsoever
I think that's part of the point. i.e. the usual line about wanting to avoid false positives (bad engineers putting on an act) even if it means sacrificing many false negatives (good engineers who suck at interviewing, or even just simply wasn't having a good day on the day of the interview).
Ironically the modern technical whiteboarding interview often does require the candidate to effectively act and put on a show,
Suppose programming ability is normally distributed with a mean of 100 and and SD of 15 (values cribbed from IQ). A team starts with 10 people drawn from that population.
More applicants are drawn from that population: if an applicant's ability is above the median of the current team, they are hired, replacing a randomly-selected member of the team; otherwise, we pass.
At the first timestep, half the applicants get hired right away. It takes a few hundred total failed interviews to make the 25th hire, and a few hundred thousand(!) for the 100th hire. These have very long tails too: the longest run (of 1000) took 800M total interviews to hire 100 people.
There's no way this rule is actually being applied in practice.
raising the bar would also mean that their pool of people who are merely good enough gets very small very fast and Amazon just doesn't have the reputation to attract the absolute best
Yep. "does this candidate raise the bar, or lower it". I.e., they have to be better than the average at the company already. As decided by you, from 50 minutes of interaction in a completely artificial, stressful situation.
Yeah, sometimes you may not be thinking straight, a have a little sleep hangover/anxiety Induced brain fog on the day of, and you can say bye bye to the job.
idk if it’s just luck. i’ve had loops in college where i failed them. but then later in my career i had times where i got every company i interviewed at. Excessive preparation was the key difference. I do think luck plays a big part but i don’t think it’s the only factor, or even the biggest. (maybe 2nd biggest)
Yeah, I'm 40+ but takes the time to prepare well for interviews and that has been the key for me. Gotten job offers from all the FAANG's without being very smart. Just go on leetcode and practice for a few months when needed.
This does very unfairly skew towards people like me without kids that can take the time to do this.
Being good at LC requires being smart. Most people won't be able to do "justify text" in 20 minutes without looking up an implementation (and potentially memorizing it).
Not really, most questions have answers and discussion threads - during an interview you can see people just writing up solutions flawlessly - they just memorised them. I have interviewed 100+ people.
I don't think regular coding questions, LC tell you anything meaningful in an interview.
I'm more experienced now, so refuse doing it and recruiters and interviewers get all funny about it. But please, please interview. I know I'm pretty privileged compared to others but I won't ever do a LC question anymore and tell that upfront to Google and the likes. I have canceled loops because of the inflexibilty of some companies in that regard.
Sometimes they tried sneaking it in last minute - also tells you much.
Can I ask why you refuse? For me it is more of a formality at this point. I know it won't tell a lot about me, except I cared enough to put in the hours to get this job, but still you have to do what you have to do. I'm pretty senior as well but don't really see why I should not do this when everyone else has to.
In general though the tech industry has a really hard time hiring senior people, perhaps for this reason. I was at Google for 10+ years and did 100+ interviews, HC etc and once you talked to the people in charge of the process they admitted that the process is really weak for hiring senior (L5+ in Google speak) candidates. They in many ways perform worse than new grads in coding interviews which is not really surprising.
So Google hardly hires anyone experience before you get to the director levels (hardly as a percentage of course).
The other well know secret is that if all of us would try to do an interview unprepared we would probably fail.
As someone who refuse myself I simply think it is a waste of my time. It isn't fun, it doesn't teach me anything I find interesting and it isn't a good way of filtering someone.
I would rather be with my girlfriend, play videogames after work hours, watch netflix, go see some friends.
I lost a team member to Amazon recently, he spent 6 months total (two 3 months stints) preparing for the interview. He bombed in the 1st try and passed in the second.
That's 6 months of your life studying after hours to get a job ... I really have better things to do!
He is there now and he says how his work is not as challenging as the one we were doing from a technical PoV and also how the culture is very toxic compared to ours.
Anyways... he is optimizing to retire early so props to him I guess.
I don't do whiteboard coding. When I thought it was meaningful, or might be meaningful, I did it even though I'm uniformly terrible at it. If I was great at it, I might do it even though I no longer think it's meaningful.
But I'm terrible at it, and I don't think it's meaningful, so I don't do it. Admittedly, it costs me some opportunities, but mainly at companies I'm not sure I want to work for, anyway.
At this stage I'm an old fart with a long resume, and more often than not I get hired by people who already know my work. I guess if I was as bad as my whiteboarding performance makes me look then people who know my work wouldn't want to hire me.
So I think this is partially why these questions actually have value. They cannot completely be faked, you need some level of competence even after months of leetcode.
I witnessed someone who couldn't code fizzbuzz end up at our company (OK it could have been an acquihire or something) then get fired, and then immediately hired at Amazon at a pretty good office. I always had a nagging doubt this person paid someone to stand in for the interviews. Thinking back, who actually cross checks this kind of stuff? Unless they know each other personally or take DNA/fingerprints it wouldn't be very hard to pull it off.
for me atleast that also came with experience. ie that would have been impossible in my first job search. But repeating the process of searching for jobs a few times over a decade, each time i’m preparing for interviews i’m able to build somewhat on previous times to where problems like that are manageable.
Luck is likely not far off from preparation in terms of effect though. Luck could be divided up into separate parts like: chance you get an interviewer who asks easy problems, chance you get a hostile interviewer, chance your interviewer is racist/sexist/tabs-ist/hates-your-face, chance your interviewer loves you for no apparent reason, chance your interview is going through a divorce, etc..
I've seen some of the best interviewers I know still fail at various companies. Including ones they were given offers to before. Luck might not be the #1 component but it sure feels like it's not a distant second.
There are some components to the interview you can directly affect, and some you can't.
By grinding leetcode, you raise the odds that you'll get a problem you've seen before, or at least similar enough that you recognize the way to solve it without having to waste time by starting from absolute scratch. I guess that's still luck, but this is one area you can increase the odds in your favor.
You can't change whether you get a hostile interviewer, etc. of course.
i agree but regarding your example about failing companies that you’ve previously had offers from: ive seen this as well. but it was a case of hubris where the person didn’t put in the work to prepare as hard the second time because of their previous results.
the shitty thing about interviewing is you have to prepare hard every time you approach it
While that might be the case for people you've known - I've seen it with people who prepared even more than the last time.
I've also seen the opposite - right? People don't prepare anywhere near as much as the last time and still get offers. I've seen folks get offers at Google and spent maybe a few hours preparing. Luck is just a very wild component.
Even when you prepare for months, your preparation needs to be related to what you'll actually see in the interview to pay off. Because few companies actually tell people what to expect in the interview, even preparation involves luck.
I was this way too. I got into Amazon via acquisition so I never actually passed a real interview process (though there was a limited one as part of the acquisition).
I transferred teams within Amazon and then left for my current company. I do wonder if I'll ever be willing to put in the work to get a FAANG job again but at the moment I really don't care. I like where I am so I'll just cross that bridge when I get to it. If I want it badly enough at some point then I'll go through the steps. If I don't, I'll just find another job.
>FWIW, all of my friends who somehow managed to get into FAANG or other top tech companies swear that were they to go through the interview again, odds are they would fail. This despite all of them being great engineers.
Im fairly confident that's at least part of the dominance of this approach in big tech. If the tech companies can't collude with no-hire agreements (as they have in the past) to prevent developers from jumping ship to seek raises (i.e. introducing direct anticompetitive barriers) they can collude on an unspoken agreement to raising the barrier to entry, making the labor market less mobile and therefore, artificially decreasing competition. It would be pretty difficult at this point to make a case that the current hiring trends are intentionally colluded anticompetitive labor market practices but the end result is the same.
I say part of the reason because the mess that is the current hiring process is really a multifaceted win approach for big tech and loss approach for most of the labor force.
I suspect if you had a large movement of mid-senior level developers that wanted to shift positions at the same time and began refusing businesses participating in this practice, the industry might be forced to make reasonable changes.
The issue is that our industry has no labor organization and the probability of a critical mass of labor independently making such a fundamental shift (especially in the current economic client) is near zero.
Interesting theory, but does the game theory hold up? If high interviewing standards are only good for scaring employees into staying put, couldn't one of the FAANGs "defect" and lower the bar, gaining a hiring advantage over the others?
Probably not, at least in the sense being talked about.
After all, there is a glut of applicants to the top companies, combined with the idea of wanting to avoid false positives (bad engineer putting on an act) at any cost, even if it means losing out on many false negatives (good engineers who interview poorly).
I don't understand this obsession with leetcode style questions specifically. I just got a job at a FAANG on an algorithm heavy team and all they asked me was linked lists, some basic graph questions, and some basic (and I mean really basic, high school non-calc level) vector math. I think just having a rock solid understanding of the basics will help much more than trying to grind questions and memorize patterns.
By comparison, in a recent FAANG interview for general dev, I was asked to reconstruct a BST from preorder and postorder traversals (Leetcode 889), and also to design a thread pool that is aware of dependencies among tasks. It sounds like the experience really varies!
> I think just having a rock solid understanding of the basics will help much more than trying to grind questions and memorize patterns.
It isn’t about memorizing patterns, but about hopefully spotting the exact question.
A friend is currently interviewing for a FAANG and the recruiter flat out told him that his best chance of passing was to do a pile of previously seen questions for that FAANG and hopefully he gets it again in the interview.
In 5th grade, I was in a poor school district. My parents had been pushing (with other parents) for a 'gifted program' for years. Finally, in November, a program was being introduced. I was given a test - IQ test perhaps, but an entrance test of some sort. I went home, dejected at the stuff I didn't know - was asking parents what the questions were - "what is an octave?" was one I remember not knowing at the time. I'd "got in" to the program, but... we suddenly moved over Christmas to a newer school district. It was richer by comparison, although still in the same county.
First week at the new school, I was taken aside and given a test for their gifted program. Exact same test, which ... I completely aced, because I'd figured out all the questions I hadn't known in November (from parents). It felt like cheating, and I told the teacher about it later. I don't know why they couldn't have just taken the test results from the previous school - same county, shouldn't have been an issue.
Anyway, if you keep studying known questions, it will increase your chances of passing in the future ;)
If all the celestial bodies align and your luck is through the roof, you'll get exact problems you've solved before with the optimal solutions ingrained in your mind.
But second best is you'll get problems that are at least similar and you are familiar with the patterns, tricks, and gimmicks to go about tackling it, instead of having to try to think up a solution completely from scratch.
Horrible luck? It's a question you've seen and practiced but your brain freezes and you can't remember how you solved it. Or something you've seen and earmarked to practice, but couldn't get to it before the interview day. This has happened to me.
> It's a question you've seen and practiced but your brain freezes and you can't remember how you solved it. Or something you've seen and earmarked to practice, but couldn't get to it before the interview day. This has happened to me.
Same. I had an interview the day before I was scheduled to review binary trees. What was it on? Binary trees.
That's so disheartening. When I'm looking to work with somebody, I look for somebody that can solve problems (and admit when they don't immediately know the solution, which is extremely important imo) not just regurgitate a solution to a problem they know already. If this is actually what the recruiter said, this is a huge indictment of that company's hiring practices.
This practice seems common. I've had recruiters at several top tech companies (including two of the FAANGs) tell me this during initial chats.
I imagine recruiters actively want you to succeed and get hired because that benefits them too, so they do what they can to aid you in your chances. They'll tell you the official, pre-canned lines about "we're interested in what your thought processes are and how you think", but then they'll also tell you the truth and recommend you take some time to grind leetcode.
I had a similar experience. I just accepted an offer for a senior engineering position at a FAANG, and only got a few basic coding questions. Out of eight hours of interviewing, I think they spent six hours on behavioral questions.
My understanding and experience is that one of the A's and the N stand apart from the other letters in having a less of a "one size fits all" approach.
Eh, I got my job at a very early stage startup through a friend I met on Twitter. The "interview" was a chat with the (reasonably technical) CEO, where we talked about political philosophy for 45 minutes, then I said something about "oh, I should probably tell you about my experience and resume," so we went over that briefly. No coding challenge or anything. I assume my case is an extreme outlier, though.
But yeah. "Networking" by meeting groups of strangers for drinks probably wont get you a job. But making friends who happen to work in (entrepreneurial) tech might.
Startups and smaller companies are a different story. One of my friends got a job at a startup by virtue of standing in line at a cafe holding a programming book, and the (non-technical) founder standing behind him hired him after a quick chat.
Bigger companies often don't let you through like that though. My friends are constantly offering to refer me to roles at their companies, but every one of them would still involve going through the whiteboard interview ritual. For now, I'm not taking them up on the offers because I'm not confident I'll pass the leetcode rounds.
It s not, I ve been interviewed that way and interviewed others that way. Many times it led to horrible mistakes so now I give a simple project to do at home with no deadline.
If a guy can do well that kind of well rounded project, even by cheating, I want him and his network all the same.
The trick is knowing someone who works with your interviewers. If they talk you up to the interviewers ahead of time, it will bias them to be more forgiving, offer more help because "I'm sure it's just nerves", etc.
It's generally not even on purpose, just subconscience bias.
> I feel in the tech industry, networking and knowing people only gets you so far
I think it depends how influential your connection is.
At my previous FAANG job, my director was tapping his network to back-fill some positions and i heard through the grape vine that she waved parts of the interview in order expedite the process.
it could've been a rumor, but then again the person who joined was terrible to work with so i'm biased.
Tech seems to be the only field that does these dumb types of interviews. Accounting, law, medicine etc seems to work well without these filters. Why are tech interviews so stupid?
The other fields have various ways to filter out people.
* Accounting has CPA exams/certifications
* Law has the bar exams/law school
* Medicine has the USMLE/medical school
Tech prides itself on the fact that "anyone" can be a great tech worker regardless of how you get there - read some books, attend a bootcamp, go to college, or even just start banging out code on the keyboard until you gain experience
Unfortunately, that means that the companies have to have some filter
Did that. Doesn't seem to matter for shit in any interview I've had, except maybe to pass an initial HR filter. Waste of fucking money that was (I'm kind of joking, I did learn some valuable things in college).
Parent poster is pointing out that _in addition_ to your degree you must pass a professional exam as well. This is common in professional fields where there is a licensed title (e.g. M.D. or P.E.).
I know people with a computer science degree that couldn't write a function of production code if their life depended on it, and I know people without one that are gods on a keyboard.
I think a better alternative is some type of bar-like or CA-like test that anyone can take regardless of qualification, but which you must pass in order to be considered a competent software engineer.
Well, the same is true for lawyers. I know attorneys that have to look up everything in books. And I know attorneys that can cite basically any supreme court verdict from the last 10 years out of their head.
They instead use credentials. Where did you go to school, what was your gpa, where was your residency, what law firm did you work for, how likable are you.
Yes tech interviews could be much better but other industries hiring process is just as if not more broken than ours.
I had a guy ask me the number of hardware interrupts there were on a processor I used 4 years prior and what the exact part number was on an interview. Just incredibly stupid questions.
Not a license to practice, but how about some sort of exam I can pass that would let me never have to do the whiteboard dance ever again?
As it is, I'm basically studying for an unknown and nowhere near standard "certification", more or less, in the form of the technical interview, with only an inkling of what I might have to study for every single interview I go on.
I guarantee my career has been stunted because I delay my job search because I just don't want to go through that bullshit all over again, and stick with jobs long after I've stopped being passionate about them, despite there being a huge demand for software engineers.
Not everyone has to take the standardized exam, but if you do, you can show that to someone and they go "okay, I'm going to skip the technical pop quiz, let's move on to other things".
That's supposed to be what my degree was for, but apparently no one trusts that anymore, so why did I waste the time and money in the first place?
The whiteboard standard already acts like a de facto license.
Algorithmic/data structure more theory-oriented problems are unrepresentative of "actual work" and are annoying, but what's more annoying is how the process is 1) opaque, and 2) repetitive. So you end up with candidates grinding through 80+ Leetcode problems to both master the skills necessary to ace these problems, as well as covering as many commonly-asked problems in a bid to game the system by preempting their interviewees questions. Goodhart's law abounds. This basically makes the process into an interview version of standardized testing. But- despite the standard prep process and a standard bank of questions, it can all easily fall apart because of subjective interviewer opinion, and so all the preparation is for naught. Candidates end up having to do the interview gauntlet for each company they apply at.
So standardize it. Put out clear, industry-standard rubrics for how one's performance is graded. Don't say "we only want to know how you think" and then ding candidates for not getting the right solution. You obviously care about the right answer as much as the thought process- don't be disingenuous about it. Maybe even standardize the level of difficulty of problems. And most of all:
Make this process a one-time thing.
Or rather, a once every five year thing. Outsource the ds/a interviewing section to a third party testing organization, like what Triplebyte is attempting to do, and have the actual interview be personalized to the company. Ask domain specific questions, relevant experience questions, system design, and culture fit questions during the company interview. And leave the DS/A portion be akin to the licensure tests that other engineering disciplines and STEM professions already have.
Software engineers may hate credentialism, but if it's a credential that you only need to take once or twice in a decade, then it's already far superior to the current system that forces candidates to undergo this each time they change jobs.
There's a difference between licensing and certification. A license is when the government says you need to meet some requirements to practice. A certification is when some entity, usually a board or industry group certifies that you are good enough at your job. We don't need licensing, but it would be great if we had broadly accepted certifications for software development. Even if you believe in FANG style interviews, ideally you should be able to pass one time and have it be accepted by every company. Once you have the certification, we could do interviews that focus on the type of things that individual teams and companies care about.
Not sure if that is FAANG or US but nah; I recommend people and people recommend me to large corps and the interview is pleasant banter and nothing else. If I see a whiteboard I would walk out anyway; what is this, grade school? If my resume and references do not help then I have no interest working for you.
I'm sure there are still companies like that out there, but getting fewer and fewer. My current company (bank, non-tech) hired like that when I joined 5+ years ago. At most you would have gotten some language or framework trivia questions. Fast forward to today, and interviews are now all leetcode on whiteboard - just like a FAANG, albeit easier with lower standards. My direct manager and half my team is in London, so I know any UK candidates also get leetcoded the same way US candidates are.
Same thing with other banks and hedge funds - 5 years ago I think the only major bank that leetcoded me was Goldman, and even that was leetcode easy level. Today, every bank leetcodes candidates AFAIK.
Pretty much every company, both tech and non-tech, I've interviewed with the past 3 years has done leetcode interviews at various levels of difficulty and rigor. Interestingly enough, recently FAANG and a few other top tech companies seem be creating frontend specific interview tracks that are arguably more practical tests of JavaScript knowledge rather than pure leetcode problems.
Maybe time to look for my pension then! But no, I do not have the same experience; when I recommend someone (always seniors though; you sound like one), they do not have to do that. Another way to avoid (in recent experience) is to apply for positions as an agency (so a consultancy company which might be a one person company but looks like a pro outfit, website wise), work for 3 months (none of our people ever got interviewed: they trust us to have done that) and then apply for a job. Skip all the hiring bollocks as you already worked there and with the team etc. Again, not speaking for FAANGs.
Not a close friend, but do have a close associate who was VP level at Google. We were having coffee and he offered to refer me, but said I'd still have to go through the whole standard interview loop - even the phone screen in fact.
Depends on the company. I think the FAANGs basically all require jumping through the same hoops. Optimistically it prevents nepotism, but I think that's less of a worry in tech circles, and the times I've seen interviewers overridden because of connection between tech people, it's generally worked out. Of course, for non-tech (product, marketing and the like), it's been hilariously bad.
I was recently interviewed by a Google bet with a referral from a well-liked VP level employee for a job I was well qualified for (IMO) and didn't make it past the phone interview. /shrug I just blame it on Covid.
It's very different at smaller companies where the whole interview might be waived (or just no leetcode) if you worked with one of the technical leaders or founders before.
One of my ex-coworkers/now-friend is what I call a master networker. His network casts wide across the tech departments of a huge number of small hedge funds in NYC. If he wants a job, he can just call up any of his friends/ex-colleagues at these places and odds are several of them will simply just give him a job at their firm. If an opening doesn't exist, sometimes they'll literally create an opening for him.
The downside is that he has to be very un-picky on what the role entails whether it be working with some super unsexy legacy technology (Excel VBA! Legacy ASP.NET webforms!) or doing devops or even helpdesk duty too. Hedge funds being hedge funds, small as they are, they all pay pretty well, though not at the level of a top tech company.
It's a combination of these places being pretty small shops and having friends there in high places. Including, from what I hear, a billionaire hedge fund exec or two.
If you know the right people, they might tell you pretty much what Leetcode questions will be asked, who you might be interviewing with, what their personalities are like, etc. though. That is alot easier than going in blind (for most people I would assume).
Networking can in fact overturn results of the interview loop. In some cases, the result is known and the interview is arranged to support the case. You may outright fail some questions, and still get a green light from those interviewers.
I did use "FAANG and other top tech companies" as an example, but I'm seeing this practice expand out towards many other companies both in and outside the tech industry.
I myself work at a non-tech company (bank) and even with my team/department, all a referral will do is just get you to the leetcode interview and maybe a slight advantage if the final decision is between the referred candidate vs. another non-referred candidate with all other factors being equal.
Having multiple respectable people that can vouch for you is a much better performance predictor than a 1-day interview. Same reason that recommendation letters are more important than GRE tests for the ones seeking PhD studies.
It does suck that it’s like this in an industry where you have a lot of non-neurotypical people though. People who are very good and capable but on the spectrum, or shy and reclusive, who really can’t do the networking and conference scene thing, etc. Wish there was a better answer than to tell them they just have to be wired differently.
Let's not forget that the type of work in this industry and hours needed in the name of cost savings hinders many peoples' desire for professional development work outside of work.
I don't know about most people but lately, at the end of the day when I make enough progress to meet expectations, the last thing I want to do is anything related to work anymore, even if it's an investment in myself. At some point my life takes precedent over my career.
If delivery expectations are reasonable (i.e. time requirements), I don't mind networking outside of work. I've worked in environments with reasonable expectations and environments with unreasonable expectations. My observation has been that environments with reasonable expectations are in decline in the name of competitiveness and cost cutting measures, passing costs to employees.
This industry is becoming significantly less enjoyable to work in and growing to a toxic point of hypercompetiveness at every layer. It's not healthy for those working in the industry.
There are other avenues. I've been excited to hire somebody in the past pretty much on the strength of their detailed technical blogging. Kind of a mess in the interview, but I knew they could do the job coming in. (They were great.)
That’s really not a problem. If you think about it, everyone wants to help their network by default. And in startups, you care about outcomes. It doesn’t really matter if you’re shy or gregarious if you can make the crucial thing.
It’s a big company problem, not a startup problem.
Hiring primarily based on references almost guarantees bias. White engineers will tend to know more white engineers. Asian engineers will tend to know more Asian engineers.
Of course, you could have diverse acquaintances and friends, but most people are more inclined to be friends with people who share the same race and gender because they often share the same experiences. This puts a black female at a great disadvantage if her friends are mostly other black females because so few of them work in tech.
At my company we interviewed two people. Both did fairly poorly in different ways. One we hired because he was a referral and came highly recommended despite a not great interview. He's been great.
The second guy was rejected but later hired as a contractor and he's worked out well as well and now we're looking at offering him a full-time position.
My conclusion is that our interview process isn't good at determining if a candidate would be a good employee.
My preference would be to hire someone as a contractor and give them a project then use that to determine their quality and fit. Unfortunately, HR tells me that's not feasible for reasons I don't understand.
My preference would be to hire someone as a contractor
When I was contracting it was common to be offered a job at the end of the contract. I always turned it down because I liked being a contractor. From talking to my peers at the time this was common.
If someone didn't want to be a contractor then they wouldn't accept your offer in the first place.
I interviewed someone that several of my coworkers had worked with before, and spoke very highly of. He even was my current manager's manager at their last job together.
He kinda blew the interview. He did okay, but not even close to the level of experience he had.
It was very obvious he was nervous, so we hired him anyway. No regrets.
Genuine programming skill has no correlation to the skill of regurgitating algorithms in a reality-show type setting. Actual development, of real products, isn't done like that. This is the reason why it's so perpetually controversial to put developers through this type of interviews which measure nothing relevant to the job.
> regurgitating algorithms in a reality-show type setting
You're not wrong, but this falls under the genus of "companies that suck at interviewing," and thereby hurt themselves (i.e. the company). In other words, it's not an inherent fault of the programming interview.
But there is more to it than meets the eye.
Some companies actually just are that incompetent.
But, to take a particularly successful and egregious offender: is Google actually just that incompetent? So that they systematically do hiring in a poor way?
No, of course not.
They actually don't want the best people.
They want the mediocre people who are also obedient. The kind of people who can be told to study an algorithms book, and will do it, and will regurgitate it, as a show of obedience, mostly, but also mediocre (but not great) intelligence---not great, because if they had great intelligence, they wouldn't waste their time on that kind of activity.
Such people can be treated as interchangeable cogs, which is why BigCo wants to filter for them.
> They want the mediocre people who are also obedient. The kind of people who can be
> told to study an algorithms book, and will do it, and will regurgitate it, as a
> show of obedience, mostly, but also mediocre (but not great) intelligence---
> not great, because if they had great intelligence, they wouldn't waste their
> time on that kind of activity.
Perhaps a bit cynical but there is truth to that. A huge company just needs cogs that can do the job and don't think outside the box much.
Your advice goes directly against your example and I would say that most companies interview like that. Surely the advice should be to spend time on interview prep regardless of how good you are at the job.