Simple solution: Be very clear what kind of candidate the company actually needs, e.g. do you need
- a genius in algorithm design
- a person who knows the subtle details of a specific language/platform/standard X
- a nice person vs a person that will fight for "doing the right thing" (e.g. is possibly strongly opinionated)
- how important is it really that the person is also nice to hang up after work
- an allrounder vs an expert for X, Y
- a person who creates solid code that will be good to maintain vs. a person that "simply get things done"
- a person who is is already good at X vs a person who has a high potential to become good at X