You may think you filtered out people who failed your test, but you have no indication that that’s the case – you could just as easily have filtered out people who don’t like tests or people who don’t test well
I trust you’ve found some decent hires, but I’d suspect you passed on many as well
And, I don’t know about your work environment, but I’d prefer someone who can have a friendly conversation and do good work... I’m surprised you bothered giving your work-sample test to people who didn’t pass the earlier test
I've ranted about this before on HN, but that's very much illegal in my neck of the woods. As soon as someone does useful work for you, they're an employee. YMMV but you can't expect new candidates to do actual work until you've hired them.
There are plenty of programming assignments, exercises or questions you can have them do instead.
Of course, the net result is that self-employed contracting is on the rise. Especially the kind where people are self-employed only in name, but really work for a single employer. The only difference is that they send an invoice at the end of the month, and the employer can terminate the contract at any point (depending on the terms in the contract, of course).
Hiring is hard. Especially so when hiring the wrong person can cost you two months' wages.
Ouch. That does make it really hard, impossible even, to make sure you get a good fit.