They should not have final say over a candidate based on personality or communications skills. They should be a source of input (i.e. this guy is an asshole, because he was very rude to the guy who helped him scheduled his callback interview, or perhaps more importantly to inject some company-wide context into what can turn into a group-specific analysis) but it's the technical people who know what kind of communication goes on in a technical team, and thus it's the technical people who should evaluate a candidate on that characteristic. Yes, this requires trusting your technical people and investing them with a greater responsibility to understand the dynamics of their work group. That's a good thing.
> There is absolutely zero reason why HR/recruiting people should have final say on a candidate. None.
Now you're saying:
> Well there are obviously certain areas where they should have final say
They should give you the risks -"he has a criminal record of fraud, and will expose us to some lawsuits that could close the doors. In addition, we will have to quit doing business with our 5 top customers". But that's not a decision. It's information.
They can give you their capabilities - "I am unable to come up with a way for us legally employ them in the U.S." or "It will cost us approximately $500K to manage the legal end of hiring them." This is not a decision, it's information.
They can give you personality notes - "He was extremely rude and insulting during the initial phone calls, and asked me to perform a sex act for money. I believe he will be a personality cancer in this company". This is also not a decision, it's information.
When you actually trust and value your HR department they no longer feel the need to be gatekeepers. They are a valuable source of information during the hiring process. Of course, you have to trust your hiring managers to make the right decisions based on this information.
Policies that give multiple departments "final say" or veto powers are put in place because the individuals are not trusted... which points back at poor hiring or promoting.
You also see this happen with IT, Ops, and software development organizations, not just HR. E.g., feature X is the company's highest business priority, but the DBAs don't like it and they control all schema changes, so they just say no.
In my view, HR's job is to help hiring managers find the people they need, and then to support those people when they're there. If hiring managers need help with making hiring decisions, then by all means offer them help. And if HR,or anybody, spots something that concerns them, they should speak up. But I think giving HR a veto is a clear mistake. So no, I'd say that tests just make this an obvious problem, rather than a subtle one.
Work permit issues are entirely a reason to veto and they're better placed to spot that sort of thing that the dev team, similarly issues around references and the like.
The issue here isn't with HR per se, it's with a bad HR department overreaching, but personally I'd be just as skeptical about a technologist pointing to poor performance on a technical test (with good face to face interview results) as I would about this.
IIRC there was a woman a few months back with Valve who couldn't get the staff she needed because of that sort of veto setup.
It works for us because the people involved all understand the log jam it can cause if people don't behave properly but I can see in another company (or even division) it might not work. You would only need one or two people deciding they wanted to throw their weight around to wreck it.
Maybe I'm lucky but I've worked with some good HR people who understood where they could add value and where they should step back. To me this really feels like a good people / bad people thing rather than an HR people / technical people thing.
Between your technical people and your technical management, there should be enough people skills to function coherently and effectively as a team. As such, those people together should have enough people skills to figure out whether a prospective candidate has the people skills to function effectively in the team. If those people see people skills as exclusively the domain of HR, well then you made prior mistakes in hiring that cannot be remedied with further mistakes.
This is exactly the sort of mission confusion that results in HR departments overreaching. If HR sees itself as "the people people" and its role as evaluating candidates for "people skills" and engineering's role as evaluating candidates for "technical skills" that's an unworkable division of labor and will invite improper encroachment from HR into the hiring process.
What I'm saying is that putting too much faith in tests isn't just something HR do (I've seen people put far too much faith in technical tests), and that HR having a veto isn't per se a bad thing so long as they exercise it sensibly based on things within their expertise.