Also more meta-level commentary, I find the word "should" interesting, as in general I have found that comments on HN which contain this word reflect a level of frustration that X is X instead of Y, because "X should be Y". Someone else may come along and say "X should be Z", and all the meanwhile, X is X.
> In my experience, I can gather more information about a candidate's ability in just 15 minutes talking 1 on 1 with them rather than hours of Leetcode busywork
This is your perspective as someone doing hiring. My perspective is from someone being hired. I really don't think leetcode is that difficult all things considered so a system based on leetcode is just not that bad in my opinion. It's really not that difficult, there is a set of 15 or so algorithms that are all 40 or so lines long and you just need to memorize them to the point of instant recall. Now you can get hired almost anywhere.
If you can tell if someone's good within fifteen minutes of talking to them you should be able to get rich by setting up a software consulting company or startup with other people's false negative rejects. That's equivalent to being able to take mine tailings and spit out gold.
That commitment can be exploited.
It's like Nigerian Prince scams, those willing to jump through the hoops are more easily to convince and get jumping through future hoops.
It's also likely they will rationalize that their job is great because they had to do all this shit to get it. The employer could think "if we can get their foot in the door and convince them to fully enter the room even though we make it difficult to fully open the door, they're less likely to leave and more likely to fight to stay in the room." It keeps uncommitted folks out, but doesn't necessarily filter for competent people, just committed people.
Cognitive dissonance is a powerful thing.
How many people did you interview and hire?
Just asking since I interview and hire a lot of people, and find it very hard to asses someones capabilities.
In those few LC questions, how do I know the person can write good, maintainable, reliable software with a team of engineers and didn't just learn for the test?
Yes, interviews are hard. Assessing a persons capabilities is a difficult job.
You think you can gather more information. I doubt that your decision is more accurate than leetcode interviews on average.
I've spent 30min talking to candidates about their projects, experience, tech they used, choices made, etc. and been super excited and positive about them.
Then I ask them to find the intersection of two lists in better than O(n^2) and they completely fail to write functional code in their preferred language in the next 30 minutes. This isn't even "leetcode" level of challenge.
If I'm hiring you to be a professional software engineer for 6 figures income to spend 8-10 hours a day designing, writing, and debugging code, you need to be able to write code.
The disparity between the conversation and the coding performance can be significant, and both need to be evaluated.
If there's a better way to evaluate if someone can write code, I'm open to try it. But take home tests, portfolios, pair-programming, "a day in the life", etc. all have their problems and disadvantage different groups.
There's a whole leetcode culture on sites like teamblind.com. A lot of people are happy to play the game.
Not my cup of tea either, but to each their own.