I fully agree with you that HR practice is full of BS. Yet as the world is getting smarter very minute we use proxies to select items because that is easier and most of the time the only possible way. The question is thus - can you chose a proxy or set of them that can with high probability tell you whether a person is a good fit for the job. These proxies should involve indicators for technical skill in coding, in design of stuff, test, communication skills, management skills as a bare minimum. This however is uneconomical. You take a crude measure and if that indicates a chance of success and no major risk factors then you give that person a chance. That is actually cheapest way of doing personnel selection. It is cheapest because all other parameters can be gamed or are not measurable in any reasonable way. Often it takes some time in a project to determine if a person fits. So we are stuck with crude methods that you indicated for foreseeable future.