Interview Tactics for Vetting a Computer Programmer
April 15, 2014
The process of interviewing and hiring a technical person is not a simple one, explains Sam Shafi, a recruiter at LinkedIn, who is involved in vetting technical applicants for the company’s computer engineering needs. “Since many computer programmers are introverts,” he says, and it’s a complex topic, it can be challenging to figure out the best ways for vetting these individuals.
Here are some practical tips, Shafi suggests, for helping hiring managers determine whether a programming candidate has the right stuff for their organization:
1. Do some online research.
“One of the things managers don’t do enough of is researching the professional’s online identity,” says Shafi. “It’s important to learn as much about their professional life as you can, to get a sense of their level of seniority,” he says.
Once you have gained insight from your Internet findings, you can include questions related to what you found out about them online, that may not appear anywhere on their resumé. For example, he says, “Try to find out if they have any open source code out there, and that can help you understand how qualified they might be for a particular job.”
2. Assess people in their domain of expertise.
Don’t evaluate people in a programming language they don’t know very well, explains Shafi, because you can miss out on very talented programmers. “If you really want to know how good a programmer someone is, you should interview them in the language they know really well, because then you can take them to the fence in that language and see exactly how far they can go,” says Shafi.
“For example,” he shares, “let’s say that someone is really proficient in C++, and just okay in Java, but you’re a Java house; I recommend asking them specific coding questions in C++, because otherwise they aren’t going to be able to showcase all of what they can do.” He likens it to asking a writer who is native in Spanish to write an essay in English.
It’s definitely nice if they have a little familiarity with the language they will be using, he says, but picking up a new programming language is far easier than becoming a solid programmer, he says. “When companies insist on having people do a coding exercise in the language that the company uses and not the candidate’s favored language,” he says, “they can miss out on brilliant people.”
3. Put them into a natural working environment.
If you are going to ask a computer engineer to demonstrate their programming skills by writing a piece of code, Shafi stresses, “it’s important to let them work in a natural working environment.”
For example, Shafi explains, “Most engineers or technical professionals write code on a laptop, not on a whiteboard, but nowadays, you go into a company and many interviewers ask you to go on a whiteboard and write code.” Many candidates may not perform well under these artificial settings, he says.
If you want to see how someone is really going to function on the job, Shafi recommends giving them a laptop instead, because this will allow the person to show you how creative they can get to solve a problem, versus just the limitations of the whiteboard.
4. Engage them in conversation.
While interviewing candidates, a lot of hiring managers fail to really engage in meaningful conversation with engineers, says, Shafi, “because in many cases both the technical interviewer and the interviewee are introverts.”
For this reason Shafi likes to encourage all his technical recruiters to step out of their comfort zone and elicit opinions from the candidate about current technology in order to get them engaged. “For example”, Shafi says, “you can ask someone, ‘What did you enjoy about programming in Java and why?’”
He also recommends engaging a person by showing them an example of code and letting them review it with you to get their opinion. “‘What do you think about this code?’ you can ask. ‘Is it good? Is it bad?’ he says. “You want to sort of break the ice and ease them into engaging.” This type of dialogue can also really help you assess their important soft skills.
5. Ask open-ended questions.
Determining talent and ability is one important part of hiring a programmer, but Shafi believes that it’s also critical to measure a candidate’s ability to be creative and adapt. Even if they’re good programmers, engineers can sometimes be very rigid, he says, and you probably want to avoid the rigid type.
To figure out whether a candidate has flexible and adaptable thinking skills, Shafi recommends that, “Instead of asking specific ‘yes’ or ‘no’ type questions during a coding exercise or interview, you approach them with open ended questions such as, ‘How would you solve this problem?’, or ask them why they wrote the code the way they did, and what problems they were trying to solve?”
Shafi finds this open-ended approach to be far more successful in terms of gaining insight into how a candidate thinks on the job, rather than just jumping through the hoops you throw at him, and will help you determine whether they are the right person to fit in with your working environment and culture.