I work in a industry with around 1000 engineers in that field in my location. There must be like 10 big companies where I can work in the area. Basically everyone knows each other and when you interview someone, it's easy to get the person's reputation.
I just got a new guy in January (didn't do the interview myself, I was away), I know his ex boss very well and of course I phoned him to know how he's like. He depicted me a kind of bad picture of him.
After 3 months I agree that he's not the sharpest knife in the drawer. But unlike my friend, I'm not asking for perfect code, I'm asking for throughput and bold moves in the wilderness. With that consideration, the guy is actually ok compared to others!
I've come to learn to not rely a lot on outside advice on people, and I prefer to judge it myself in situ. The team, the company, the project or simply personal life can greatly affect someone's performances, and it is not because someone is great at company A that he will be great at company B.