"At some point in the process you might want to think about how to convince that awesome programmer to work for you and not for somebody else."
This.
The strategy you're outlining is extremely risk averse (mostly to the benefit of the company), heavyweight, and is going to lose a lot of good people. Maybe all of them. Personally, I would immediately conclude my time was being wasted, there was a cultural mismatch, and I would head elsewhere.

There's no magic bullet for hiring programmers. But I can share advice on a few techniques that I've seen work, that I've written about here and personally tried out over the years. 1. First, pass a few simple "Hello World" online tests. I know it sounds crazy, but some people who call themse...