| In the past I've given programming tasks that mimic real life work as closely as possible and fit them into a reasonable time frame - for example, 1 hour of pairing/programming during an arranged face to face interview. If the test is well designed, touches on a number of areas and self contained, I think this was sufficient for me to assess their skills. "Mimic real life" means no puzzles (unless I've literally experienced them in real life), no binary tree reversals and no big O notation questions. >You have just dismissed most tech companies. All the large ones (Google, Apple, Amazon, Microsoft, etc.) give coding puzzles as part of their interview process. I think that type of thinking leads to embarrassments like this: https://twitter.com/mxcl/status/608682016205344768 I think he experienced exactly the same problem the OP is talking about and in this case it's not him who was dumb, it was Google. I wouldn't rule out any of those companies but I think I'd rule out joining through the standard interview process - I'd look for specific people who looked to be doing exciting work on specific teams and try to befriend them. >you'd be wrong to say they have an entitlement complex or aren't the smartest. I think it would depend upon the team. I think they're not all geniuses, and they do have a tendency to drink their own kool aid. For sure some teams are great though. |
Sounds great. I've done this too, but I've never done it before screening candidates. I don't have enough time to screen candidates by programming with them.
> "Mimic real life" means no puzzles (unless I've literally experienced them in real life), no binary tree reversals and no big O notation questions.
Understood. My goal with my coding quizzes and knowledge questions is not to mimic real life. It's to asses the boundaries of the candidate's education and experience, without regard to skill.
> I think that type of thinking leads to embarrassments like this
There always have been and always will be false negatives, even with lengthy face-to-face interviews, even with pair programming, and even with paid internships.
One high profile false negative anecdote, while unfortunate, doesn't imply there's a widespread or unexpected problem. Applying for jobs always comes with a risk of not getting the job for a wide variety of factors that are outside the candidate's control. If it's a job you really want, all you can do is try hard.
I love homebrew, and I'm sure @mxcl is a fabulous coder, but the tweet you shared does make it sound like he expected to get the job without an interview, and might have come across that way, or might have not prepared at all.