I've always found this theory of hiring interesting but I think it eliminates some of the best possible candidates. People who are really good at what they do don't need a 20+ hour try out to find outstanding jobs - especially not in software.
If I have a choice between working for the company that wants to try me out ... at a rate grossly below market, and a company that can look at my experience and examples of code I've written - well it's a no brainer.
I feel like a company that hires like this has no respect for the potential employee.
You could look at this another way: you are trying out the company, and they are paying you to try them out.
A few hour interview may not tell you much about the candidate, but as the candidate, it doesn't tell you much about the company either. The future boss/colleagues could appear pleasant for the hour you get with each of them, but could be real jerks when you actually work with them. Maybe they just have a different style of work than what you prefer. Or maybe they said "agile" when you asked them, but they are anything but. I could go on.
For me, I really like companies that hire this way because it also allows me to try out what it's like to really work at that company. And get paid to do it. No one wants to be the guy who quits after 2 weeks coz the job sucks.
But if you're a talented developer then opportunity cost comes into play.
If they are paying me $X an hour to audition but I could be making $X*3 otherwise, the fact that they are paying me for the "try-out" isn't much of a positive factor.
Sure, but I see the payment as just icing on the cake. If you're a talented developer, you probably have a few offers in hand from pretty good companies. What better way to pick one than actually work 1-2 weeks at each to see what it's really like? It's a reasonable investment, given that you'll be there a good chunk of your life in the coming year, likely more.
Edit: BTW, I disagree with the rate (flat $25/hour for everyone) mentioned in the article. IMO it should be closer, or equal to, what the candidate will eventually make at that position. Compared to what companies pay recruiters and the lost money/time on dealing with a bad hire, 2 weeks of full pay is nothing.
If you agree to work for less than your regular rate then really you're paying them.
Besides are you really going to get a good feel for a company by working remotely and are you going to be doing your best work at 9PM after a full day of work and other obligations?
If I have a choice between working for the company that wants to try me out ... at a rate grossly below market, and a company that can look at my experience and examples of code I've written - well it's a no brainer.
I feel like a company that hires like this has no respect for the potential employee.