I still remember a time when leetcoding interviews were less common, and then all of a sudden, they became the norm. Even for jobs that have nothing to do with leetcoding, it seems that most “tech” companies have galvanized around the idea that before you can hire anyone they must first prove that they can adequately impress someone with their skills at coding during an interview.
The problem with the whole leetcoding interview phenomenon is that its goal is orthogonal to its outcome. The goal of these interviews is to assess whether a candidate can, in fact, write useful software in a useful setting. It’s a way of filtering out people who either have no idea how to code, or just suck at it.
The outcome of these interviews is that they’ve turned into an arbitrary, non-standard, pseudoscientific exercise that likely has more to do with how the interviewee makes the interviewer feel rather than any objective assessment of one’s abilities.
Don’t get me wrong, I have been guilty of enjoying being on the side of the table where you get to feel powerful because you’re asking “hard questions” about how to optimize contrived problems that you’ll rarely encounter in real life. It’s a power trip, that’s for sure.
I guess the question is: what is the alternative? Some companies do “take home” tests instead of 1 hour interviews, some companies use code presentations or walk-throughs. I’m not sure these are any better, and I’m not really sure they properly assess anything either.
Part of the problem, I think, is that interviews are generally about ego and power asymmetry. The person interviewing is usually in the low power position, and the interviewer is in the high power position. The interviewer expects the interviewee to acknowledge their imagined authority in some way, either with flattery or feigned admiration. If the interviewer breaks this contract (i.e., doesn’t express their admiration) the interviewer will of course feel like the candidate “doesn’t have what it takes”.
There are a lot of people on HN who talk about this, and I generally agree with the comments that leetcoding is a pointless exercise that tells you nothing about how good of an employee someone will be. But, simultaneously, I can’t think of a better alternative to make sure the person you’re hiring is in fact capable of making software.
A few companies have tried to make leetcoding a bit more objective, by doing standardized tests with calibrated results, and perhaps these are better, but in spite of all that the final decision almost always comes down to how you can make the interviewer feel at the end of the day.