To play devil's advocate, having a standardized process for all candidates has some benefits. I've witnessed otherwise stellar candidates with amazing open source contributions absolutely bomb coding interviews. Real "write a function that does X" in whatever language you're comfortable with and whatever tools or resources you want. Simple stuff.
So yeah maybe the Big O stuff is lame, but sometimes it's also a filter for entitlement on the behalf of the candidate. Hiring isn't hard, but it's not easy.
> To play devil's advocate, having a standardized process for all candidates has some benefits. I've witnessed otherwise stellar candidates with amazing open source contributions absolutely bomb coding interviews. Real "write a function that does X" in whatever language you're comfortable with and whatever tools or resources you want. Simple stuff.
I'm not sure if you're playing devil's advocate very well here, because this suggests to me that the interview process did not work well. Do you want to hire someone who can write a binary tree insertion in 30 minutes, or someone who can make amazing contributions to real software projects?
> So yeah maybe the Big O stuff is lame, but sometimes it's also a filter for entitlement on the behalf of the candidate. Hiring isn't hard, but it's not easy.
My point wasn't that hiring is easy or even that programming quizzes do not have a part in interviews. It is the level of contempt that some of these companies and their recruiters and hiring processes show to people.
To be fair I did open myself up to it having responded to an unsolicited message, but I always try to politely decline if I get a message from a real person. They responded with something interesting and hooked me to agree to a call. I made it clear I was not interviewing for any position, and again while on the actual call I declined the Big O question. It just shows they were perfectly happy to send out probably mass spams and waste people's time, but were not willing to even read what I wrote or listen to me, or worse they did and decided they'd just ignore what I said anyway.
My point is treating people like people, not like bycatch in your drag net. Simple stuff.
> I'm not sure if you're playing devil's advocate very well here, because this suggests to me that the interview process did not work well. Do you want to hire someone who can write a binary tree insertion in 30 minutes, or someone who can make amazing contributions to real software projects?
Most companies want malleable, fungible engineers. Most companies are not stable, something is usually in flux -- projects, teams, organizations, business models. Most managers would rather have someone who can write a binary tree insertion in 30 minutes.
But that is not how I personally hire, it's just reality. I'd rather have someone I can work with. In my experience, a lot of big open source contributors are not good colleagues. Are they going to focus on their job or spend their hours in the office working on their passion? Are they going to put their head down and get the work done or write essays debating in a mailing list? If we can't even have a conversation about algorithm complexity then there are better ways I can spend my time.
> It is the level of contempt that some of these companies and their recruiters and hiring processes show to people.
I really don't think this is true contempt, at least not usually. Recruiters, for better or for worse, vary widely. They are rarely good representations of the rest of the business. They're usually just sharks. A good recruiter is worth their weight in gold. But mostly they're ignorant, greedy, and have no care for you or the company you're interviewing for.
> It just shows they were perfectly happy to send out probably mass spams and waste people's time, but were not willing to even read what I wrote or listen to me, or worse they did and decided they'd just ignore what I said anyway.
Look, I'll be honest. I've conducted nearly a thousand interviews. I've hired at FAANGs, unicorns, YC companies. I almost never look at a candidate's resume/CV. If I'm not doing a coding interview and I want you to go into detail about something you worked on, I might take a glance. But otherwise, I actually do not care. I don't have time to peruse your GitHub profile or past projects. I don't even have time. One in a hundred applicants even get interviews, and I'm often interviewing 2-3 times a week. If it's important to you, tell me about it! I'd rather talk to you than read about you! In my experience, the resume/CV/published work is not a strong signal for making a good hire. It sounds like it's already helped you get your foot in the door, I wouldn't recommend expecting it to do anything more.
I'm sorry you had a shitty experience with this company, but I encourage you to be humble and give them the benefit of the doubt. Unless they're a tiny, boutique company with a lifestyle or OSS-focused culture, they are busy people. If they don't ask these questions, then more often than not, by the time we're in a room or on a call together it's a waste of both our time.
> I almost never look at a candidate's resume/CV.
> I don't have time to peruse your GitHub profile or past projects. I don't even have time.
So you want someone you can work with, but you don't want to spend a couple of seconds to look at who you're talking to. Which is, you know, sort of the most basic of things necessary to get an actual relationship started.
This goes both ways. If you don't even want to spend a few minutes to assess whether the resume or the projects are interesting to you, then why on earth would the candidate spare you any time or energy?
These engineers are not hired to invert binary trees.
They're hired to change glorified forms. If they need to invert a binary tree, they will google it in 30s.
My friend (40+) prepared for a couple of months and got hired at FB a few months ago after a career spent in smaller companies. Great comp, mindlessly boring job (the usual, change this form button, change this endpoint) but hey, now that FANGs are remote and you don't need to commute to an office, they're worth a shot.
He's already thinking of quitting but unfortunately he already forgot the algorithms exercises and he doesn't want to do the same interview dance again at Google with the hope that things will be better over there.
Whenever I've been in the hiring manager roles, I skimmed over people not knowing theory well and I read with interest their CVs and their personal project (and asked them about it!).
Your behaviour is exactly why I didn't want to work for a FANG and I pursued starting a business instead of growing my career as a IC.
I apologize for the "one-liner". I am busy, I interview and hire many people, and I read resumes. You can do it too, it is one page and it is often interesting, including the lies here and there that disqualify candidates.
I'd say I'm in a qualitatively similar position as you. If I'm going to interact with a candidate in any capacity, I always spend at least 30 seconds to skim their resume if I have the means to.
When I'm acting as a hiring manager for a role, I read through applicant's materials in detail before deciding whether to advance them in the process. It's at least 50% of my work time, and my technical work suffers. I communicate that to the relevant managers and stake holders, and they can help decide whether it's the best use of my time.
I also regularly receive followup emails from rejected candidates saying that they thought the interview was the most fair and thorough of anywhere they applied, they understood why they didn't get the job, and in the process they learned where they need to focus on to be a better fit for the same type of role in the future.
Yes, I'm not usually in this role. I don't find managers conducting technical interviews a good use of time, they are better spent on soft skills -- discussing previous projects, career goals, assessing team fit, answering questions about company culture/comp/perks/etc.
> I read through applicant's materials in detail before deciding whether to advance them in the process.
I don't usually filter candidates in this way. Recruiters send us candidates that are eligible for a phone/video screen, i.e. do they meet the hiring criteria. This is where the resume/materials are looked at. The resume is also useful to figure out where to funnel inbound candidates -- are they backend engineers, frontend, etc. It depends on the hiring pipeline.
In any case, from a purely technical evaluation perspective, the resume is inconsequential. Where did you go to school? How many jobs have you had? What awards have you won? Literally none of this matters and is utterly meaningless when it comes to your ability to do work with me and my colleagues. Resumes are ripe with bias-footguns that I try very hard to avoid -- cronyism, elite education, privilege, wealth, immigrant status, etc.
In my experience, and the experience of the majority of my employers and colleagues, it's more fair to evaluate without this information. The red flags and strong positive/negative signals are elsewhere. The resume is almost entirely useless.
> It's at least 50% of my work time, and my technical work suffers.
I would suggest closer partnership with your recruiting team and trying to communicate what you are looking for more succinctly to them so that they can deliver you a stack of candidates worth talking to. If you are at a remotely large company (>1000 employees) then unless you are bootstrapping a new team/org/whatever you shouldn't be spending this much time hiring. Your team is going to suffer.
> I also regularly receive followup emails from rejected candidates saying that they thought the interview was the most fair and thorough of anywhere they applied, they understood why they didn't get the job, and in the process they learned where they need to focus on to be a better fit for the same type of role in the future.
To be honest, we get the same feedback. Most candidates tell me that it's the best process they've ever experienced.
Each organization is going to do things differently obviously. To clarify, a hiring manager within my context is the person that's responsible for the process of hiring for a specific role. We almost always have individual technical contributors act as hiring managers. They set the technical bar, design interview plans, and act as a consistent point of contact for the candidate. Team managers are distinct from that, although they may be the ones pushing to hire to fill a role for their team.
In my experience, relying on recruiters to filter out candidates into a "high quality" pile isn't effective. That's where the resume bias tends to slip in.
Individual contributors spending time recruiting is also organization specific. I'm probably considered the highest value software engineer on my team. Part of that is because I actively work to make sure I'm replaceable. Most projects I've worked on are documented and tested enough that other engineers can step in and take over as needed. I also often turn down fun projects in favor of mentoring more junior coworkers to do them. On the hiring side, we maintain a high bar and hire for long term success. As a result, I trust everyone on the team to keep the ship on course.
> To clarify, a hiring manager within my context is the person that's responsible for the process of hiring for a specific role.
> ...
> Team managers are distinct from that, although they may be the ones pushing to hire to fill a role for their team.
I haven't encountered this before.
> In my experience, relying on recruiters to filter out candidates into a "high quality" pile isn't effective. That's where the resume bias tends to slip in.
I agree but I haven't seen anywhere (large companies) where this doesn't happen. There's always some intermediary filter before the resumes end up in the hands of technical staff.
I can't imagine why having recruiters involved prevents any of the other things you mention. ICs can design interview loops, help write job postings, work with recruiters to define and clarify what they are looking for.
Regarding your last paragraph, that sounds like the basic bar for most senior/staff engineer positions I've encountered. You're a force multiplier for others. That's the job.
All jokes aside, in my experience it's nearly a FIFO, with obviously unqualified candidates being weeded out. If you have 3-400 people apply for a position, you maybe phone screen somewhere from 4-10 and by the time you're closer to 10 you've already conducted 3-4 onsites and put out at least one offer.
> Most companies want malleable, fungible engineers. Most companies are not stable, something is usually in flux -- projects, teams, organizations, business models. Most managers would rather have someone who can write a binary tree insertion in 30 minutes.
Okay well that's a bit surprising.
> But that is not how I personally hire, it's just reality. I'd rather have someone I can work with. In my experience, a lot of big open source contributors are not good colleagues. Are they going to focus on their job or spend their hours in the office working on their passion? Are they going to put their head down and get the work done or write essays debating in a mailing list?
Interesting point that I hadn't really considered because I get paid to do what I want with Linux. That said, I'm not here to argue that open source developers are wonderful or this recruiter should have known who I was or been kissing my feet.
> If we can't even have a conversation about algorithm complexity then there are better ways I can spend my time.
You can in the right setting. I happen to think some companies probably take these to absurd levels that can't be a particularly good filter. But they have millions of applicants and have to filter somehow, so as long as they're up front about the process and treat applicants respectfully as you would any other human, they can do what they like. That's not what I'm complaining about either.
> I really don't think this is true contempt, at least not usually. Recruiters, for better or for worse, vary widely. They are rarely good representations of the rest of the business. They're usually just sharks. A good recruiter is worth their weight in gold. But mostly they're ignorant, greedy, and have no care for you or the company you're interviewing for.
The recruiter was not overtly rude and I'm sure they weren't intending to be contemptuous. I'm guessing the the practices and behaviors are so normalized that they might not even recognize there is any problem. So it's the industry as a whole which has some serious problems I think.
> Look, I'll be honest. I've conducted nearly a thousand interviews. I've hired at FAANGs, unicorns, YC companies. I almost never look at a candidate's resume/CV. If I'm not doing a coding interview and I want you to go into detail about something you worked on, I might take a glance. But otherwise, I actually do not care. I don't have time to peruse your GitHub profile or past projects. I don't even have time. One in a hundred applicants even get interviews, and I'm often interviewing 2-3 times a week. If it's important to you, tell me about it! I'd rather talk to you than read about you! In my experience, the resume/CV/published work is not a strong signal for making a good hire. It sounds like it's already helped you get your foot in the door, I wouldn't recommend expecting it to do anything more.
You don't even read the resumes of the 2-3 people per week you decide to interview? The resume is what the applicant wants to tell you about themselves. If I apply for a job, I would be sure to read the position description and read up a bit about the company, their work and people.
But so long as you're honest and respectful of people, and don't think that your time is more valuable than theirs, each to their own. If you tell them not to spend any effort updating their resume because you prefer to cover it in the interview for example, I don't have a problem with not reading them if that's not how you like to do things. Honesty and respect is all I ask.
> I'm sorry you had a shitty experience with this company, but I encourage you to be humble and give them the benefit of the doubt. Unless they're a tiny, boutique company with a lifestyle or OSS-focused culture, they are busy people. If they don't ask these questions, then more often than not, by the time we're in a room or on a call together it's a waste of both our time.
It wasn't a huge ordeal for me that I'm bitter about. I was just flabbergasted that they thought nothing of taking an hour or so of my time without spending 2 minutes to read my email. They were willing to say anything to try hook me and get me into some process. It's not the right way to treat people even if it is a buyer's market, not even if they're a new graduate or have poor credentials.
> You don't even read the resumes of the 2-3 people per week you decide to interview? The resume is what the applicant wants to tell you about themselves. If I apply for a job, I would be sure to read the position description and read up a bit about the company, their work and people.
There's more here to unpack than I have time to so I'll be brief. The recruiter should screen your resume/background. If you're already being asked questions on a call or whatever then the resume has already done its job, in my opinion. I haven't used a resume in the last several jobs I've had, since I just connect through a former colleague and get fast tracked to a phone screen.
Consider the power dynamics in applying for a job. Ideally you, as a candidate, want to exit with a mutually beneficial arrangement. Initially, the employer holds all the cards. You are relatively powerless. Consider if a resume holds information that helps a company hire fairly and hire well. (Beyond "do you work in this field" it does not, in my opinion.)
You have to be a fit for them. Unless it's a two person startup, you're not going to change the company to meet your culture. You are the item being filtered for.
I don't like to go here because I know very little about your methods from our discussion, I've easily misunderstood some things you've said, etc. and I'm certainly not talking about you as a person, you've obviously been completely polite and respectful of me and others here. (And the same goes for the recruiter in my story -- I'm sure he was not a horrible person either).
And I don't want to throw out something you can't reasonably defend yourself against. So I'm talking entirely about my (surely incomplete and flawed) impression of what you've told me of your profession here. It comes across as being consistent with what workers dislike about the industry.
Not reading people's resumes before you have them interview, preferring those who don't have obvious hobbies in the hope they will do more work, justifying this by talking about power dynamics and the applicant being powerless, they are "items" being filtered for, the love it or shove it attitude.
So I'm sure outside the profession you don't think of people as numbers, and even in the profession you're having a side bar with me and my summary of impressions is probably uncharitable taken out of context. It could be that you are an unwitting or unwilling participant in the normalization of deviance in the HR industry regarding how to treat people -- this is just how things are done.
And in what you say there are some kernels of difficult truth, for some companies and some applicants / employees. But it's not entirely and always true either.
Firstly, no matter the power dynamics, people should be treated with politeness and respect. And personally I'm sure you do, but professionally I don't know that your industry does or necessarily even understands what that means.
Secondly, that assertion about the power dynamic is not always true. I mean, if a company advertises an open position, then it's a signal that they want to buy (at least where I am I believe it's illegal to advertise for a position you have no intention of filling). So all else being equal, they're starting at a disadvantage right out of the gate if you make an adversarial analysis of it.
It's true that FAANG companies have a power dynamic over 99.9% of their applicants because they have a huge oversupply. But for some fraction of that top 0.1% it is the opposite. They get head-hunted and fought over. Presumably the top talent in recruitment process are those who can find and sway and hire these people when the balance of power is not on their side.
And down from FAANG and the top few companies in other industries, a lot of the time companies actually have much bigger problems attracting people.
So the power dynamic can certainly fall the other way in any given hiring, as it was in my story. And the guy clearly didn't know how to cope with that. And I think that is also a symptom of this industry problem.
I had the upper hand there. I was filtering him. Despite that, I was not rude, I was honest, didn't mislead him, I explained my position. And I read everything he wrote. It cost me very little to be polite and respectful.
So they are stellar candidates with amazing contributions. Yet they can't do your whiteboard questions.
So, are you trying to hire someone who will make stellar contributions to your codebase or are you looking for candidates who are good at answering dumb questions?
I don't typically whiteboard. I'll write the prompt on the whiteboard, but otherwise it's a tool. The candidate has a computer, either their own or we provide one, with whatever tools they requested or want to use.
Yes, plenty of candidates with otherwise amazing track records can't code comically simple functions (not dumb questions) together, with tons of help and hints and direction provided. They can't articulate their thought process, can't describe what they're doing, can't ask for help or get combative or aggressive or entitled.
The question is entirely not the point. It's everything else that is signal. Could I work with this person? Could I give them a task and have confidence?
Think about what your interview process would look like if it was a normal day at work.
You show up out of the blue with a task that isn't connected to anything the org does and with all the decisions made already. I cannot search the internet, but you do not explain why. You sit down across from me and stare.
In my interviews you can use the internet. I don't stare, I'm mostly taking notes and answering questions, either listening to the candidate explain things or explaining things. No decisions have been made. I describe a problem, we solve it together. Just like we might on the job.
I can't do something as simple as empty my bladder while someone is watching. I certainly can't code something complex with someone watching me. Luckily, I have never had a coding job where I had to be watched while working.
plenty of candidates with otherwise amazing track records can't code comically simple functions
Sadly, this rings true. In a non-whiteboarding context I’ve sometimes asked JS/TS candidates something that I originally though was a nice easy, practical sort of algorithm question: how would you find the intersection of two string[] arrays? Even with plenty of hints probably the majority don’t get beyond a nested loop (sometimes they progress to [].filter and [].includes, which just hides it).
It also filters out people who get anxious in interview situations, since anxiety tends to put people in fight or flight mode and shut down the critical thinking parts of the brain.
So yeah maybe the Big O stuff is lame, but sometimes it's also a filter for entitlement on the behalf of the candidate. Hiring isn't hard, but it's not easy.