That "hiring by algorithm" is indeed a new way of looking at things, but it does take experience - excellent programmers all comes with their own particular quirks - and you need to provide them the room to stretch, the freedom that they need, in order to get them to do whatever they are good at
I am inclined to agree with you.
We typically hire people based on interest level and personality fit more than what their education was in. We do have a strong preference for people with advanced degrees who are looking to perform simple tasks for low wages...
I currently have two employees with PhDs. They are both working in one of our retail stores, earning $9.00/hr, performing mostly menial labor, and enjoying the lack of stress and the occasional chance to discuss their areas of expertise with customers.
My staff developer has a BA in something unrelated, and is entirely a self-taught programmer. He learned to do it because he wanted to accomplish a task and thought that a web-based application would be of use in doing so. He was offered the position based on this adaptability -his willingness to learn something new in order to accomplish a goal, and the obvious interest in programming that this showed. The lack of formal development training, project analysis, etc. shows, but is not a critical fault, the interest in accomplishing a task using code mostly makes up for it. I see basic mistakes that a trained developer would have been taught not to make and I have to take the time to explain why they are wrong, which is frustrating, but not overwhelming.
I did not choose these hiring practices, but inherited them from the founding partners. I can see strengths and weaknesses in these practices -but it has opened me to more experimentation in staffing than I would have been wiling to do otherwise. The idea of "hiring by algorithm" or at least of inviting people for an interview based on the results of such an algorithm is intriguing.