Using Leetcode as a filter is great if you're looking for someone who interviews often, but in my experience it's not a great gauge if someone is a good engineer or not.
As a hiring manager we've tried implementing different strategies. On my team, we hired 4-5 engineers doing live coding exercises similar to leetcode, and none of them made it more than 6 months. We switched to a take-home project for the last 3 we've hired and they've all been with us for 2+ years and have been great.
Of course with the take home projects you're filtering for people who are willing to take a few hours of personal time to work on something, but over the interview process it seems like it washes out? Of course this is just anecdotal data on a fairly small team, but I hate LeetCode style interviews.
"Our interview process is perfect! We've never had a bad hire."
"What about that guy we hired to rewrite our engine? The ex-googler? We had to fire him after a month."
"Oh, yeah. I forgot about him."
And then you're still nervous and have to explain your thought process around everything you're doing as you're coding.
It is different than traveling to a different city for an onsite because you're not wasting your teams time on a candidate unless you think they have a good chance of getting to the end. You have "skin in the game" as they say.
If hiring managers were only issuing homework to candidates already scheduled for a full round of interviews, so interviewers have standardized material to talk about and as a substitute for whiteboarding, it wouldn't be so bad. Instead you mostly get nothing to show for your time and when you do get a round of interviews nobody looks at what you did and wants you to do medium+hard leetcode on the shared screen.
on a side note - if employer does not want to wait and wants to rush the hire chances are you don’t want to work there anyways…
I ended up not taking the job due to the combination of a counter-offer from my employer as well as being a little weirded out by their culture. But I was thankful to get the opportunity to show my skills in a way that worked for me.
But most people don’t understand why I do the thing I do and start saying no and that’s not supposed to go there and why aren’t you writing a test first? Because I don’t want to. I will arrive at your conclusion don’t worry just please give me time. I will move this code around don’t worry about it. There you see now it’s all fine. But they don’t understand that I just want something to work fast and then I’ll refactor and make it nice.
And then they start demanding and that’s when my flow breaks and then I do shit work because they force me to accept their views.
Ofc granted those are shitty workplaces but chances are I’m not gonna work with the person interviewing me and also when you are looking for a job without a job then you kinda don’t care and want it make it work somehow.
Bah.
The only exception to this are take homes that you pair on during the interview.
100% this. I've never been nervous on the job, even during a work crisis. But I'm not a stage performer, and I'm super nervous during an audition, where strangers are standing over you, judging you, and you can lose the job if you do any little thing wrong, or even if you don't do anything wrong. That's so vastly different from a workplace situation. Yet a lot of people assume, wrongly, "If they're nervous during the interview, then they can't handle job stress."
Ask a firefighter, who runs into burning buildings for a living, to give a speech in front of a crowd of strangers. It's an entirely different kind of stress. Not all stress is the same. Fear of public speaking is very common, regardless of the person's job. The firefighter is trained for and experienced with one type of stress, but not the other. Firefighting is their job, not public speaking. Likewise, programming is my job, not interviewing. I can write code just fine, even if the whole company is metaphorically "on fire" at the moment, but my brain freezes in job interviews. And then an hour later, when the interview is over, I can often easily do the thing they wanted me to do during the interview, because I'm no longer in that specific fearful state.
The good news is that I'm now successfully self-employed, and my goal is to never interview for another job the rest of my life. Of course running your own business is stressful, and everything depends on me, but I've demonstrably been able to handle that stress. In a sense, the insane job market forced me to become an entrepreneur. (I'm also getting "older", which is another issue, i.e., age discrimination. It's commonly assumed that programmers get worse with age. Fortunately, my customers don't care how old I am.)
I'll be branching off towards a different career path because of this. Tying your employability to passing these tests rather than your accomplishments as a professional is a sucker's game long term.