One of the pillars of a company with a comfortable pace of growth is its hiring process. I would like to share some of the secret sauce that has so far made us successful.
We have established — through trial and so much error — a sequence of steps that gives us enough perspective on candidates to have a high level of confidence when it’s time to tie the knot. If we’re not cutting any corners, each of these steps is handled by different people; the more eyes we have on each candidate, the better chance we have to catch anything that might be less-than-beneficial for the company and, of course, for the candidate as well.
Soft skills
After you find us (or vice-versa, as the case may be), the first formal contact is a soft skills interview. Here we evaluate the abstract, ineffable qualities that are the foundation of a possible match with us. Personality and great work ethic are imperative, but we also look at communication skills, particularly in spoken English. Most of the candidates we interview are native Spanish speakers, but a big chunk of the interview is conducted in English. This is a particularly important point for us, since most of our clients are located in English speaking countries. This interview is also useful for candidates to get a sense of the company and how we do things; we encourage questions and try to answer them enthusiastically.
The technical part
A technical interview then follows, during which we do a quick coding exercise. We join a shared document with the candidate (Google Docs usually does the trick), while talking over a Skype call. The question is simple, and the idea is not so much to get a piece of working code, but instead to learn about the candidate through the lens of their particular problem solving process. How you write code is as important as what you write; some people start typing as soon as the question is presented, some take a bit of time to analyze the problem, others create multiple solutions until they arrive at one with which they feel comfortable. I have yet to determine if any specific way of handling the exercise is inherently better than others. This is very much a back-and-forth between candidate and interviewer, which provides valuable insights to many areas — not just programming skills — and it’s a situation where more often than not both parties end up learning something new.
The challenge
If a candidate has made it through the first two phases of the interview process, they receive a challenge, which consists of a small quasi-real-world project. When we receive the files we can evaluate a lot more things, including how you handle multiple levels of “the Stack” (most challenges have front-end and back-end parts), how you organize your code and files, how clean you are, the amount of detail put into seemingly unimportant issues, etc. This is the final step before the final yay-or-nay, so we take it very seriously.
That’s our process in a nutshell. What we’re looking for is the ability of a developer to learn, adapt, and communicate effectively. Their current technical skills are second to these abilities (their formal education, third). It’s also important to note that we don’t see this as merely a filtering process, but the beginning of the relationship. Especially when it comes to coding, questions and feedback are very welcome, so we try to respond to any questions with more than just the specific answer. This translates into a healthy training process when you do start working with us, but that’s a topic for another post.
If you’ve read this post and I’m interviewing you, say so! It definitely gets a candidate extra points to have researched about the company they’re applying to.
Photo credit: Ethan (Flickr)