I am actually hiring for my contracting projects - I just have a general talk and ask for a piece of any recent code. And even this is just a ritual: only real project in your (not other company) real work environment shows.
Well, if a candidate whipped out code from their work project then I would not hire, as it demonstrates a severe lack of respect of their employer's intellectual property.
Of course, unless it was already on Github, etc.
[while I'm in the "there's no secrets in software" camp, there are still policies and laws to follow]
which is unlikely to be available if they aren't the owners of the IP.
So either you have to guess real lucky, or have a probation period of a week or two with any new hire. Wouldn't you say that's worse than a short take-home project (for the employee)?
I am not saying I don't have problems with finding people, I am saying here that companies are creating even worse problems by their naive automated HR assumptions.
Honestly, I probably wouldn't hire anyone that doesn't have their own personal side projects. That alone shows ambition, enthusiasm for learning, and it will show you their capability. Otherwise, working for a reputable company? Just because someone does well on a dumb test, doesn't mean much at all.
You've possibly eliminated a lot of adults who are 10+ years out of college and have family commitments.
You've possibly eliminated people with significant side-interests outside the realm of software. Writers, artists, musicians, marathon runners, activists, etc.
Just because someone doesn't have side projects doesn't mean that they don't have ambition, enthusiasm for learning, or other ways to show you they're perfectly capable.
Obscure programming tests will also filter out all of your examples. I think finding someone that is genuinely interested in programming, more than just a 9-5, is a better hire than someone who studied "Cracking the Coding Interview". Also, if someone is super dedicated enough to run marathons, I would put them at the top of the list as well. All opinion of course!
The issue I take with this opinion as noted above, it selects for people who have available time. I am genuinely interested in programming, but I come home and spend time with my 4 month old son.
I think the "more than just a 9-5" idea is a toxic pattern which has been championed by the privileged. In short, by wanting something like this, you risk selecting for a fairly homogenous set of people.
I think you can write a good coding challenge which doesn't look like all the others (the socialite example in Takehome.io is particularly good because it scales with skill level – it's not a pass/fail, but a spectrum from just making it work, to showing you have thought about and dealt with an array of odd things that might crop up).
That's fine, and I think the nonsense testing that is popular with valley jobs is a toxic pattern as well. I'm sure there are reasonable coding challenges, but none of them are ever highlighted around here.
The biggest reason for this attitude stems from the immense amount of people who are getting into CS just for a paycheck. Sure, we're only working to get paid, but in my experience, these people have zero motivation outside of it. Endless hordes of bootcamp type people, who see six figure salaries, and can spew out all of the stuff they've memorized in a book. Without actually thinking about why or when. I'm not looking for "rockstars", "ninjas", "gurus" or whatever other nonsense words phrases use, but rather people who are genuinely interested in their field.
I'd suggest some care with this approach. I've seen more than one candidate say they have no side projects, but when prodded further, we figured out they do in fact have side projects, the candidates just didn't twig on that they were side projects.
For example, writing up a silly application to make a daily task easier. One candidate had their own tooling for time tracking. It wasn't much to look at but it was there and working for them. It wasn't on github, well commented or entirely complete. It was however a neat tool and well enough written. The candidate didn't really think about it as a project, just a little tool they wrote.