False negative problem is so ridiculous. I work for a faang, I’ve worked at all kinds of “prestigious” companies, I have worked at all kinds of companies, I get paid more than most people will ever do in their lifetime, and most importantly I know my stuff. Yet there are companies out there rejecting me for job descriptions which are only 50% of my skill set because I couldn’t code this obscure hard algorithms problem in 45 mins. Makes absolutely no sense.
I know “tech interviews are bad” has been discussed at nauseam,but I feel compelled to write this because it still doesn’t get fixed.
PS: I am not salty. I’m one of those engineers who doesn’t care about company mission. I’ll work optimizing streaming at 4K for adult content websites if they pay me enough.
> Yet there are companies out there rejecting me for job descriptions which are only 50% of my skill set because I couldn’t code this obscure hard algorithms problem in 45 mins
This is usually an odd thing that happens when you accidentally interview yourself a level below - there's a definite "I made a trade-off to do something else" that you hit at the boundary of senior+ engineer.
I interviewed at a FAANG recently where they asked me when I committed my last patch. Not "when did you review a patch", but had to skip over all the +1s and to a patch I had authored.
I knew immediately that the interviewer didn't care about whether I could talk to customers or get other teams to do dependency features or even if I could balance a tech-debt vs velocity decision.
I knew I had missed on my leveling, because I didn't get worse at algorithms or writing patches because I couldn't, but because I was doing something else more relevant to shipping software in my organization.
The next job conversation, I was interviewing for a Sr Principal and the VP I talked to could see how they could use the last 3 years of my "optimizing for results" better than the engineer who couldn't understand why I was doing management tasks as an IC & why that meant I didn't write patches, that I got them in into the releases in the right order across teams.
They're rejecting you because you aren't a match for the job they have at hand.
You should see mismatches as time saved on your part, not as rejections.
I had a similar experience with a large tech co. Applied to a Staff role and on a single, open-ended question they decided I was more of a Director whereas they were currently looking for an IC.
This company gives interview feedback so it was clear to me where I went wrong and how taking my answer in a direction that highlighted craft instead of leadership would have gotten me the role.
I’m still a bit baffled given the number of rounds, the rapport with at least three of the four interviewers, and the likelihood that I simply finished second place (we can’t all come in first) BUT they told me I can’t apply again for six months — even if it’s a management role instead of an IC role I’m blacklisted.
Apparently rather than this being a case of “right candidate, wrong role” or “sorry but not this time” I need to go better myself and “growth takes time“.
Sure I can look at as a bullet dodged, but frankly I really wanted it and if they were to miraculously offer me something tomorrow I’d take it.
I just don’t see how this policy is good for the company — other than keeping a few crazies at bay, the false negative cost must be extra high for them. If anyone has any insight into this line of thinking, I’d be super curious to hear it.
If it’s a company that gets a ton of qualified applicants, it could just be managing applicant flow. You obviously passed the first few screens, the interviewers scored you as “eligible to re-apply”, and just do that in 6 months.
Some companies get so much inbound flow that they can choose between interviewing X again or interviewing X+5000 for a new role. They choose to ensure they look at some fresh candidates by pausing some candidates for a few months.
Right but I’m not talking about rejections when you’ve had extended conversations, I’m talking about phone screens, which often have nothing to do with the actual job.
> Yet there are companies out there rejecting me... because I couldn’t code this obscure hard algorithms problem in 45 mins.
> I’m talking about phone screens
You have phone screens asking you to solve algorithm problems?
> I work for a faang, I’ve worked at all kinds of “prestigious” companies, I have worked at all kinds of companies, I get paid more than most people will ever do in their lifetime, and most importantly I know my stuff.
In the spirit of helpfulness, to be honest, I found this off-putting. If you say such things during interviews you may unintentionally raise red flags. The hard algorithms might be a contrived reason to reject you.
Err I didn’t say that during the interviews. I’m not sure if you’re familiar with interview processes for engineering roles in tech companies, but you absolutely do not even talk about your experience in most rounds, let alone the things you think I said.
Mostly it goes like this: 5 mins join the interview and the logistics setup, 5 mins the interviewer and the interviewee give a brief introduction, just polite small talk, 45 mins algorithm exercise, 5 mins at the end for the interviewer to answer any questions the candidates might have.
There is No opportunity as a candidate to talk about themselves. Maybe if you make it to the on-site and get to talk to the HM. But again, no one talks like you think I did.
> I’m not sure if you’re familiar with interview processes for engineering roles in tech companies
I’m not the person your replying to. But…
I’ve hired dozens of engineers and manage the hiring at a tech company. Your description of the interview process is no where near the process I take when hiring engineers, and also isn’t what I hear candidates tell me about processes they’ve been through with other companies.
Perhaps very large companies don't care about the personality of a potential hire. Not my experience, but maybe. Small and medium sized companies absolutely will reject even talented engineers who are toxic or otherwise "not a culture fit". In fact, this "culture fit" jargon started in SV. It's weird that SV (?) is abandoning it.
I am familiar with tech interviews on both sides of the desk, and Darth avocado's 'splainer does not align with my experience either.
> In the spirit of helpfulness, to be honest, I found this off-putting. If you say such things during interviews you may unintentionally raise red flags.
If you're applying for a sales job, you need to sound like that.
> Yet there are companies out there rejecting me for job descriptions which are only 50% of my skill set because I couldn’t code this obscure hard algorithms problem in 45 mins.
Ohhhh, screw that.
Maybe I've just been lucky in my career, but outside of the early days I have only had one interview that involved a white-board or some form of timed test. I didn't express this to my interviewers, but I felt like part of a circus -- hey, let's see the candidate do "code tricks." And they were dumb exercises, they asked me to sort an array of numbers using a "bubble sort." Bubble sort. My brain went right to "wait, this isn't an actual example of something I'm going to be expected to do, is it?" It was a simple web back-end in C#/Razor. And you've given me a pen and paper. Granted, I thought back to my High School Pascal I class and "i" and "j"'d my way through OCD sorting.
It's "programming tricks" because we write software using a set of tools day-to-day in order to be productive/effective. If I can write software without those tools, cool, but will I be better with them and will I ever work without them in the real world? No. So it's the old "hit the apple off that person's head using this bow/arrow", except "do it blind-folded" (oooh, aaah).
In my younger days, I hated writing code with someone looking over my shoulder and my abilities to write good code would decrease dramatically if I felt like I was being judged with every keystroke.
And Im sure adult sites are full of non trivial interesting problems and could be managed relatively ethically.
As for the interview problem you face, it's due to offer and demand. I work in an investment bank in Hong Kong, we need ideally super experts in everything who can do low latency, understand swaps, know other brokers, client systems, exchanges, FIX by heart and stuff like that.
We start interviewing on those constraints and then if we find no one we lower the bar until we ask for a LinkedList implementation and find a guy doing it relatively ok. And the guy turns out to be great and useful most of the time and we have to teach him the gaps. If you cant get in the job you want it s prob because they find too many people already and can afford to select on absurd skills.
It’s actually the other way around. Being on the other side of the interview panel quite a few times, I’ve seen great candidates get rejected for silly reasons, meanwhile the positions get filled with people not at all qualified to do that particular job because they interview well.
> Despite the abundance of companies that have trouble hiring good people, there just aren’t that many who care about it enough to respect the people they are trying to hire and give them a full picture of who they are and what they want to do.
Having been an engineering leader in growing companies that didn’t (don’t) have a problem hiring enough good people, I’m a little sad the “secret” is out. Indeed, having genuine respect for people is magic.
> The man who figures out the false negative problem will rule the world
Oh, give it a rest.
Nobody understands how to hire, but everyone thinks they have special insight into the problem that nobody else does. And they're either trying to hoard their knowledge or boast about it and sell the rest of us something.
It reminds me of gamblers and their magical strategies. They're obviously BS, but we're all temporarily embarrassed gazillionaires, so we are interested in hearing more. Just in case.
What a great read -- I think this individual managed to summarize a mess of things I've been thinking for a while.
The "False Negative" problem was one I made a dent in at a former employer. I was accidentally thrown into interviewing someone for a position on a development team that I wasn't a part of. After a spectacular interview, I was invited to participate in a few others and participate in selection.
The selection meeting was one of the most difficult arguments I've ever won. There were 5 of us; all had dismissed the only candidate I liked, most were in favor of a candidate that was seriously over-stating his skill set. The other candidates I had no opinion on[0].
They'd dismissed the first guy because he had not had a CS degree and were grumbling that HR had not filtered that candidate out[1]. They were sitting in the room with two people who didn't have degrees and reported to a Director who didn't have one!
I remember the "no-CS" guy really well as it had been the first interview I'd ever given. I was given no preparation, no notes, no resume, no "how to give an interview" pep talk -- I'd met the guy in the lobby where he was waiting to be let in the door ... I had taken apart the Kiosk used to do that, so I had to find the person he was looking for, which resulted in discovering that the main technical person he was to interview with was out sick and they needed to reschedule, "unless you want to do it." It sounded like fun. I'd read a lot on the topic and had been on the other side of the table several times, so I know what I liked, what I wished had been focused on and what I thought would be useful.
It turned out he had a Github repo with no less than 30 projects, a few with a handful of stars. In my head, I'm thinking "just for laughs", I asked for his "ugliest" but it turned out to be a perfect way to go. We used it as a source to brainstorm refactoring and he didn't have to claim that the code he was showing me was "his best work" and be judged for every little problem.
He was interviewing for conferencing, so mostly C/C++[2], and this guy -- on opening the first source file -- threw out tens of changes that were all appropriate. He could argue pros/cons for each approach, he even changed his mind a few times as his thinking evolved and then managed to explain how he'd redesign the entire thing if he had ever intended to "do it right." I don't even remember what it did.
At the end of our "selection meeting", I think I said something like "I don't care if you hire any of these other people but if you don't hire this guy, you're making a mistake -- he's a better developer than I am[3] (or any other developer we have on staff)."
They hired him. Within 3 months he was promoted and was the lead developer for most of the important things in conferencing[4].
[0] There was nothing particularly wrong with them or great with them and any would have been a good hire if we had that many positions open. The only problem I had was that they had no examples of anything they had written in the past to show me so I couldn't adequately judge their abilities.
[1] Never mind that the job ad said "4-year degree or equivalent experience" which this gentleman had more than enough of.
[2] I got really lucky. I hadn't touched the language in probably ten years prior to that year where I was put on a project that, unexpectedly, required me to deeply "brush up". It turned out the person who was interviewing him was a Java developer with no C/C++ background and was not looking forward to handling the technical interview for the position.
[3] I specifically called myself out because two of the people in that room had more respect for my abilities than anyone could ever deserve and thought most of the developers on "in the development org" were terrible. I avoid confrontation (more than I should) but it plays in my favor when I do complain/advocate/go to bat for something -- people tend to listen.
[4] There were people considered "owners" of an app, usually at least two, who signed off on anything going in and generally fleshed out the major design elements for those apps -- sometimes they were the only developer, too, but that team was much larger/more disciplined. I think they promoted him to Director over that org but he left shortly thereafter due to a desire to remain on the tech side of things.
I think the thing we lose sight of is that it is exactly like dating.
Resume <> Profile
Interview <> First Date(s)
Hire <> Get Married ?!?
We don't get married after a first date or even after X hours of dates. In your story above, you performed tasks that most closely resemble the daily work and that gave you insight.
I've been on interviews that ask me to implement red/black trees and their only data store is a RDBMS. We only want the best people but there is no investment put into it. Either it stays a crap shoot or we actually have to invest time into it (or outsource it to someone who does). I'd personally rather have a Bar type association that has a fairly standardized certification process and then we can interview for culture fit and personality instead of esoteric algorithm questions that are irrelevant.
I always ask both myself and candidate how do you know that the thing you (want to) do is meaningful. That's the personal mission. When there is overlapping between the team you are hiring for and the candidate things work wonderfully well. IMO chasing after technology with no end in sight is not the way to go
Co-founder of Levels.fyi here. We think about this a lot and how to innovate in the hiring space. If you're an employer and generally interested in this topic, please reach out at my username at levels.fyi.
I know “tech interviews are bad” has been discussed at nauseam,but I feel compelled to write this because it still doesn’t get fixed.
PS: I am not salty. I’m one of those engineers who doesn’t care about company mission. I’ll work optimizing streaming at 4K for adult content websites if they pay me enough.