For context I'm a software architect with over 25 years experience building software and most of my time is spent coordinating, influencing and ensuring we're building the right thing. The position I was asked to interview for was a similarly senior position.
So my question is...do companies genuinely find these sorts of coding tests a valuabke filter in their interview process?
Rather than answer your question directly, I’ll try to add some perspective that might help shed some light on why companies do this. You might be 100% honest in how you represent yourself and 110% qualified for the job as they’ve described it to you. This would make the LeetCode feel unnecessary and frustrating, obviously! However, from the interviewer side of the table they can’t really know how honest you are or how accurately you’ve represented yourself. If the world was all 100% honest and candidates were 100% accurate at representing their skills, hiring would be a lot easier!
However, as an interviewer who has interviewed a lot of candidates, strange things happen at scale. Often times you’ll interview someone who is not great at selling themselves (imposter syndrome) who excels when given toy coding problems like LeetCode. Or you’ll get candidates who have no-name companies on their resume or otherwise unimpressive credentials who will surprise you with great performance when given the chance to do coding challenges. Or, unfortunately, some times you’ll get smooth talkers with impressive resumes who can’t actually do any of the work they claim to have done. Hiring them can be enormously expensive for the company, both in monetary terms and in the morale that gets destroyed when you hire someone who clearly can’t program like they claimed.
The downside is that some times you get people who can’t handle LeetCode, either due to stress or anxiety or rustiness who may be great candidates if they had long enough to ramp up. This is an unfortunate negative of the process, but as you can see many companies have decided that this scenario is a necessary tradeoff to get the benefits of coding challenges.
I know not everyone will agree with what I’ve shared, but all of these scenarios (both good and bad) really do play out over and over when you interview at scale. Not every company chooses LeetCode, though, so if you have a personal disagreement with the concept then you can always choose to interview at any number of other companies.
You really want your power users to shine? Give them a real (or realistic) problem and let them tackle the problem any way they please. Let them reference the books on their shelf. Let them use Google for help. Truly productive people will flourish in this kind of environment.
I personally think the mistake most people make is to go heads down and assume they know how to prepare.
I spent X*10^3 on preparation, between 3 or 4 different services, and added 10^6 to my TC in one job hop.
So I see it as an opportunity rather than an obstacle.
It would be interesting to hear other people's experiences. I'm a Front-End Engineer with experience in Machine Learning. I've built Deep Learning Neural Networks and am proficient with NextJS and ReactJS, in particular.