Firstly, as a general rule of thumb, the very best developers who are in the highest demand are unlikely to jump through the hoops, so immediately you're filtering out the very best applicants. As a business owner, that's not something I want to do.
Secondly, and equally importantly, you are likely to get more, young financially stable people with less outside of work commitments (including families which naturally correlate with age which in turn correlates with experience).
If you want to over-index on people with less experience and at the same time reduce the number of applications from people for whom the time commitment is problematic (including but not limited to females who statistically take on a disproportionate percentage of child care responsibilities and some members of traditionally under represented minorities) all you do is reduce the likely diversity of talent you might otherwise get to pick from for your dev team.
I think that this applies for the best anything but, conversely, companies still want them to jump through the hoops. You need to convince the company you're a worthwhile hire and the company, in all of it's arrogance and self-righteous glory, spends little to no effort convincing you its a worthwhile place to work[0].
You see this in questions like, "So, why do you want to work here?" If we're pointedly blunt, we could just say, "You're hiring for 'x', I can do 'x'; also, I like having money versus not having it," but that would be taken as arrogant and/or "not be a team player" or "not very interested in the company or the role".
Let's face it: The world is filling itself with the "drink the kool-aid" types and, so, companies use that as a gatekeeper, so to speak. "A good company fit." "We just want to see if you're a fit for the company."
An experienced <x> is probably far less concerned with the pointless fact 'y' of your company versus, say, the company's culture or if you have matching contributions. If they've put in the time to make themselves an industry expert in something, then - of course - they're going to be a good company fit, at the end of the day. You're just looking for people who will be acquiescent and/or will jump through the hoops. ...but why...? For an entry-level position, I can understand it. For someone who's dev'ed for the last 10 years at 'zed' company, what function does that hurdle hope to accomplish, if not the aforementioned?
[0]-Not really true for Europe, though, so thank feck for that, but have seen it in the states.
I've never failed in taking the latter approach in any interview I've ever faced. (I've been rejected; that's different).
I tend to think this is more about whether you're... 'politically risk-averse', for lack of better terminology.
Almost all of the companies that have found a "real" response to that sort of question bad (e.g. given me the gasp or whatever) have been drone-shops. To some extent it was a sort of 'soft-reject' on my side. A minority in any case.
Maybe one day it'll hurt me. I'm not sure. I think it's a pretty good filter against working with dickheads.
I am in Europe, mind. For a month or so at least. ;)
If I'm doing multiple interviews (which everyone should be doing) and each requires 3 hours of my time (generous underestimate) then what am I going to do? Hire a sitter for a potential job for each of these companies?
Give me whiteboarding interviews -- at least the studying is cross applicable.
Yes, why not? For many people taking time off their existing job during the work day to interview is difficult, but they find a way to do it.
My whole point in this thread is not that interviewing isn't onerous, or that some companies may require more of a time investment than some people are willing to make (and, if that's the case, it's fine to say that job/company isn't for you). What I find obnoxious is when people turn their unwillingness to spend time on the interview or homework as "you are discriminating against me because I am older or because children."
What I find obnoxious, though, is when an employer has standard rules for everyone (e.g. "all prospective applicants must produce a 3 hour at home project as part of the interview process") and then balk at "discrimination" because you'd rather spend your time at your kid's soccer game.
This also strikes me as the height of white-collar privilege, because there are tons of other jobs (e.g. military jobs, oil rig workers, construction jobs, etc.) that require a hell of a lot more family sacrifice, but it's mainly highly paid software developers that protest so much at a couple hour non-9-5 project.