If you've been struggling to hire the programming talent you need, it may be time to look beyond those with traditional (and costly) university degrees and consider hiring programmers who've learned their skills in other venues. But without the stamp of approval from a major university, how can you tell if they're really right for the job? In this interview, Aram Shatakhtsyan, CTO and co-founder of CodeFights, which helps programmers improve their skills by turning coding into a game, offers some insights.
The Enterprisers Project (TEP): What do hiring managers need to know about evaluating a candidate with non-traditional training?
Shatakhtsyan: With today's information freedom, where classes from most of the top universities and several other interactive resources are readily available online, it is becoming less and less important to have a degree from a prominent university than to be a good engineer. So more than ever, the best way to know if someone is a good engineer or not is to have them code on topics related to what they need to know to do the job you have for them and see how good they are at it.
TEP: As you say, coding skills can be tested. What are some other skills or abilities hiring managers should look for?
Shatakhtsyan: First, they must be hardworking — coding is actually a very draining process and those who can't take a heavy load of work are usually not very productive. Second, software is usually not built by individuals, but rather by teams. So having engineers you can rely on to deliver their part within the agreed-upon deadlines makes the whole team function much better. Finally, they should be flexible. Software engineering is still very new, and it's changing and re-shaping at a very fast speed. So you need engineers who are open-minded about how things should be done.
TEP: What are some techniques for evaluating a candidate's "soft" skills? How can you tell whether he or she will be a good cultural fit?
Shatakhtsyan: For both evaluating the "soft" skills and the cultural fit, we found the best way is to do a small trial project with the prospective employee. Initially we tried to rely only on interviews but quickly realized that spending a couple of hours with a person is not enough on either side to commit to full-time employment. So now, after someone passes our interviews, we take them through a trial project (lasting from 2 weeks to a month) where they implement a certain feature for CodeFights. In that trial period, we get to see how they work and how they blend with the team. The candidates, in turn, get to see what it feels like to work on CodeFights and to be part of our team.
TEP: Are there sources of successful job candidates hiring managers are overlooking?
Shatakhtsyan: CodeFights! And anything else that goes to the heart of technical hiring, which is measuring someone's technical ability instead of just listing names, pictures, and work history.
TEP: Have you made hiring errors in the past, and if so, how do you avoid them in the future?
Shatakhtsyan: Indeed we have, and the main reason was that initially we were only hiring for skill and nothing else. After a couple of regrettable experiences, we realized how much the rest of the equation matters.
TEP: What advice would you give hiring managers about hiring in this tight labor market?
Shatakhtsyan: Realize that the resume doesn't matter and that you should be evaluating talent based on what prospective employees will actually be doing as part of their jobs. Finding amazing talent becomes much easier because most of the market still doesn't get that.