Technical interviews: the other side of the table

Andrea Brambilla

Short talk - in English

Technical interviews are a key step in the process of hiring software developers. And you, as an experienced software developer, are typically asked to conduct the interview. You are handed the candidate's CV, maybe you manage to skim through the job announcement, then you are shoved into a room with a complete stranger and you are expected to come back with a comprehensive report of the candidate's technical prowess.

If this makes you uncomfortable and it feels a bit intimidating, you are not alone. A simple online search can reveal that assessing someone's abilities is a much debated problem even among professional recruiters. We are faced with a difficult task, clearly outside of our comfort zone, and we hardly had any formal training on the subject.

This talk aims at providing some basic principles and guidelines that developers can refer to when running a technical interview. We will touch on how to prepare for the interview, how to select and prioritize the desired technical skills, and possible ways to harvest relevant information from the candidate. Programming tests, in different flavors, are often used before or during interviews. We will discuss some considerations on preparing programming tests, evaluating them, their pros and their cons. Finally, a fundamental requirement for hiring good software developers is having good applicants. The talk will conclude with suggestions on what we, as software developers, can do in order to improve the company's image and reach the candidates we are looking for.