Hiring software engineers? Here’s how to perfect the technical interview process