> I've interviewed people who claimed to be practicing engineers for 5+ years, and had big name companies on their resume, but became lost when asked to write a simple (no trick question) program in a language of their choice.
I always ask people to stand back and consider if this is actually possible.
Someone who has been at a big name company writing code for 5+ years clearly has been writing code. (You can confirm this with the company as HR will issue a statement saying J.Doe worked there from date to date and what job title they had.)
So there's two possibilities. Either they've been writing code at a known company for 5+ years and can't write an if statement. Or, they can but are too stressed by the interview setup they don't even remember their own name.
The latter is about 1000x more likely than the former. If they truly can't write an if statement, they would've been PIP'd out of that large company before 5+ years.
To be fair, background checks take time and cost money. You might want to only do it if you are seriously going to hire. Imagine if every company you applied to called all your references before even making the decision to hire you. Your references would be pissed, even if you've got a good relationship with them.
It is true, however, that people don't generally seem to give enough benefit of the doubt in interviews. This could be an illusion sometimes. If interviewers give you the benefit of the doubt and someone else does way better than you or has a better resume (or cheaper pay rate), you won't get the job.
> To be fair, background checks take time and cost money.
Background checks do, and a company shouldn't (and don't) do that before being ready to extend an offer (actually it's usually done after extending the offer, just a contingency).
However, a simple employment check is easy and quick. (Perhaps even automated by HRIS systems these days, haven't kept track so not sure.)
Why waste ~6 hours of expensive senior engineer and hiring manager time doing rounds of interviews before doing a simple check on whether the resume is correct about employment place/title/duration?
"Simple" employment checks for casual reasons amount to spam. Most importantly you may put the candidate in a position of being known to be on the hunt for a job. That kind of shit gets people fired at some companies. I have had recruiters try to "verify" my employment but really they are trying to get in good with a manager who may soon have an opening, even if it screws you over. Sometimes management is very petty and will just fire you to make an example out of you for daring to have higher ambitions.
Also, I've seen records from my most recent background check, and one of the companies I worked at simply didn't answer questions, and hardly ever picked up the phone. Almost nobody at any company I worked at had a phone, so it all had to go through HR. And again, if each unemployed worker gets like a dozen interviews, this kind of frivolous checking will generate hundreds of pointless phone calls.
>Why waste ~6 hours of expensive senior engineer and hiring manager time doing rounds of interviews before doing a simple check on whether the resume is correct about employment place/title/duration?
I think it is rare for a faker to make it through to an interview, much less even pass the first 1 hour session. Failing the background check is rare. I think it's safe enough to start with the assumption that a resume is correct and work from there. You should be able to detect most fakes because they will be screwed up in obvious ways.
I don't think HR can confirm code writing or anything other than start and end dates and job title. So the code writing is not guaranteed. I have seen people in small companies getting by for years without writing any code, literally their source control history was empty, no commits at all over period of several years or a dozen of trivial commits at best. But asking HR is not a bad idea, people believe that like in love and war everything is fair in job applications too. There is a lot of lying on those.
The latter may indeed be massively more likely than the former. But, how many companies verify the former until right before the offer stage? I know I don't call HR at random companies to verify that Jane or Joe Candidate actually worked there before deciding to interview them.
I always ask people to stand back and consider if this is actually possible.
Someone who has been at a big name company writing code for 5+ years clearly has been writing code. (You can confirm this with the company as HR will issue a statement saying J.Doe worked there from date to date and what job title they had.)
So there's two possibilities. Either they've been writing code at a known company for 5+ years and can't write an if statement. Or, they can but are too stressed by the interview setup they don't even remember their own name.
The latter is about 1000x more likely than the former. If they truly can't write an if statement, they would've been PIP'd out of that large company before 5+ years.