Rodoljub Petrović, a software engineer turned manager for the past 10 years, shared the lessons he learned on growing engineering teams at DevOps Days Ljubljana 2015. His core message is that hiring is the top influencer of an organization's culture and therefore needs to be prioritized. Another strong point made is to treat interviews as conversations, not tests or auditions.
Petrović believes culture is above all a product of the people in the team/organization. This becomes increasingly important the smaller the organization is. The hiring process is usually dreaded by engineers, yet they are the ones in the best position to evaluate candidates. Current engineers investment in the process will pay off in the long term when new engineers help advance the desired cultural traits.
Given this mindset, minimizing the risk of a bad hire becomes crucial (the aforementioned lack of interest in the process contributes to that risk). Not setting the bar high enough in terms of criteria for hiring also increases risk. Petrović believes it's preferable not to hire a good candidate (one that might fail some criteria but could potentially learn through doing the job) in case of doubt than to hire an interesting candidate that turns out to be a bad fit for the organization.
Networking also minimizes risk as both parties already know each other (or were referenced by a third trusted party) and share some communality, either from a meetup group, conference or other past events. Petrović illustrated this lesson with the case of a friend he was able to convince to move from the south of France to Slovenia to join his team. The risk was nearly null, and the new hire was a perfect fit.
Interviewers should focus on candidate's habits, opinions, reasoning and especially motivation. Specific questions on a certain technology, language or library are a no go. The latter might evaluate the candidate's IQ or short/long-term memory but higher IQ is not a relevant factor in cultural fit. Motivation and beliefs is what will make or break culture change in the organization.
Petrović's following four lessons relate to what an interview should and should not be. Interviews are not tests, cultural fit cannot be determined by right or wrong answers. Interviews are (should be) conversations, not unidirectional Q&A. The interviewer should get an overall sense of the interviewee's experience and probe on specific topics relevant to the job, trying to understand the rationale behind certain decisions more than the actual outcomes. Interviews are not auditions either. Live coding, even when pairing with an in-house engineer, is not the same as coding on your own or pairing with an actual peer. It is preferable to send the candidate a code assignment to complete by themselves in a reasonable amount of time. Interviews are like dating, in a way, says Petrović. There will always be inherent pressure due to an expectation of an outcome. Don't increase the pressure by live coding exercises, instead try to reduce it by having the conversation in a relaxed setting (a café for example) and not trying to outsmart the candidate, instead level the playing field by talking about yourself first.
Hiring requires skills and practice, few people are natural-born interviewers, Petrović added. People involved in the hiring process need to be trained as much as engineers need technical training to hone their skills.
Petrović's last lesson is simply to prepare (read the CV; find communalities, points of interest) and be in good shape for an interview. It is a tiring activity so avoid being tired, sick or hungry to start with. Also whenever possible run the interview with a colleague that can complement your view on the candidate afterwards.