I think there's a simple solution to the problem of algorithm testing and Leetcode problems in hiring: every company should run their hiring technical test on their current staff, at random, on a regular basis. If the current staff can pass then the test is a valid one. If they can't then it isn't, and they should update it to be a more realistic task that the current staff can do.
A healthy way would be bringing your current talent pool up to a higher level through training, even if that's maths (if that's what your current problem is).
An unhealthy way is introducing a bunch of new talent that is tested on one niche domain of software engineering and pretending everyone needs to do that while also trying to improve fundamental skills that help them with their day to day job.
- you've got people working crazy hours and learned on the job. Are they supposed to spend extra time on this stuff when they're barely keeping up?
- the existing people have developed all sorts of niche skills of their own. I'm not trying the new folks on that stuff because... we don't need more of it right now.
All I suggested is using the team's existing skillset as the measure to hire new people for the team, rather than some sort of arbitrary test that doesn't reflect the work they do.
“we need someone who can help us write our yet another SaaS CRUD app using an MVC framework. But to get the job you have to reverse a binary tree while riding a unicycle on a tightrope juggling bowling balls. We also offer below average pay and make up the difference in statistically worthless ‘equity’ and only want 10x developers who are willing to work for 60 hours a week”
If you really need to hire someone you can't assess internally then you should seek help with hiring them. This is one reason why networking and mentors are so helpful. Other people can help with this sort of problem.
I didn't get the job.
Me: “This is a domain I’m familiar with because I spent 9 years working in the bill payment industry. Here all of the corner cases you have to deal with. You’re much better off using these USPS certified CASS solutions instead of writing it internally for these reasons and went on to explain all of the drawbacks of writing software that didn’t give you a competitive advantage.”
The middle level developer interviewing me wasn’t impressed. The director was and I got the job and soon became the lead.
Please tell me of companies which ask about essential functions of the job? That's become infinitesmially rare.
Instead, interview are about memorizing algorithms and perfecting a theatrical delivery where you pretend to discover the fruits of years of research in 45 minutes.
In order words, things you will never ever do in the actual day to day job after getting hired.
But DS&A style interviews don’t come anywhere near testing the type of work that most developers will be doing day to day in 2022.
If someone has code samples, years of experience building things and can make it clear to companies that they can do the job, I don’t see the problem.
It’s a two way street about finding a good fit, I think a lot of employers don’t see it that way. Maybe they should.
So let me get this straight: now, we're not allowed to ask people if they can perform an __essential function of the job__, without being labeled "inhumane" ?
You interview for sanitation work, I want to know that you can sling a heavy bag of hot garbage.
You interview for SWE, I want to know that you can throw a sling a heavy bag of hot garbage!!!