I agree with this article. But maybe not so much HR but the hiring managers that is the root cause. HR takes its marching orders of who to recruit/hire from the hiring managers.
What's going on here? What we have here is a min-max problem. In one case, the hiring manager would like to reduce risk of a bad hire and reduce amount of time needed to train an engineer. On the other side of the scale, the hiring manager needs to hire someone and get a butt in seat to get the work done. So what to do?
A couple of things come to mind. First, there is an algorithm for this, the optimal stoppage problem. That is you review a certain amount of candidates, lets say X, then pick the best one after X. The problem comes down to solving for X. I forget the solution, but there is one out there that is based on how long you want to wait.
Second thing that comes to mind is relying on core attributes, like hard work, motivation, overall intelligence, team-player, etc... versus overly specific skills.
Yes in both cases a lot is still left up to subjectivity and can still lead to long lead times in filling a position.