My project was a regex matcher. I ended up getting the following feedback:
> We thought you wrote a great, very full featured regular expression matcher. It was especially impressive how much you dug into the academics behind regular languages.
> However we made the decision because we felt that while going through the project together during the interview, we didn't see the fluency of programming when adding to it that we had hoped for. While we specifically designed the take home project track to help overcome the difficulties of coding under time pressure with someone watching, we do still need to see a certain level of programming during the interview. This didn't seem to be the case here.
It's hard to know what to do with that. :/
That seems quite a bit more representative of regular work than a pop quiz. Yes, you still need to be able to talk live about code with other developers. That's unchanged and shouldn't change, IMO.
I get that they and every other business wants to find a team of wunderkinds that can plug right into their repo and get to work. That's the ideal.
My advice - don't sweat it.
When I'm giving interviews I really like it when a candidate posed with a fairly complicated problem or design question pauses and actually thinks, then says something like "..well, I don't really know, I'd probably want to think about it more, but here's an idea" before putting forward their likely non-optimal but totally plausible and on-the-right-track design or solution that they thought of on the spot.
Under-confidence in an answer (straight up asking for validation i.e. is this right?) or over-confidence (expecting to shoot straight from the hip with the perfect, 'right' solution, or just a plain old bullshitter implicitly insisting that anything they say is correct) are usually red flags for an extreme personality type - always exceptions to this but as a general rule, I've found it to be true - and the happy middle ground, coupled with answers that obviously point towards a depth of knowledge and skill, is what you're looking for.
Trying to follow my own advice, I've done this myself as well when I'm the interviewee. Side benefit - if the interviewer actually is looking for a 'right answer' to complex questions out of the blue and on the spot - good for them if that's what they want but I'd want to self-select myself out of that type of expectation and working relationship. So everybody wins.
This hypersensitivity goes in both directions. One company may be worse than another at hiring, despite having an equal or better engineering department. Sometimes, you might just get bad luck. Your interviewer might not have had their coffee that day. Or their dog may have just died. Or you may get a guy who just proposed to his now-wife and is having the best day of his life. Giving a reasonable benefit-of-doubt mixed with a bit of critical thinking is probably the way to go, rather than resorting to hard and fast rules that will end up just making you conclude no company is good enough for you.
I don't understand this. As far as I can see, the entire goal of hiring is to have good workers, so the company with a better engineering department is better, by definition, at hiring engineers.
It might be that their hiring prowess comes in part (or in whole) from factors largely outside the hiring process specifically, something like "you get to work for Elon Musk", but their hiring is still better.
The only way to determine your false negative rate is to hire a bunch of "shouldn't hire"s and see how they work out.
Easy hire, easy fire is inhumane to people who believe that once you get one job somewhere your problems are over. Never-hire-because-we-never-want-to-fire is inhumane to people who interview poorly and do good work -- they're humans too. You can't win them all.
So, again. "It depends".
That's exactly why it pays to prepare for coding interviews. If companies are not going to be thoughtful about interviewing, candidates can either reject those companies, or prepare for those interviews. My belief is that if more candidates are professionally prepared with those closed-ended questions, this will eventually force companies to be more thoughtful.