On the other side

Published at 2019/02/01

Last year, I've took an active part of the recruitment process for the position of a new front-end developer at the company I'm working at.

Recruiting is hard. And recruitment interview is even harder.

At that time, it was couple months after I was the one who was searching for a new job and passing through multiple recruitment processes.

And I think it was actually a pretty good timing

My memories about past interviews were still fresh, so I knew what was OK (from the perspective of the person that has been interviewed) and what was totally weird / out of context for the position I have applied to.

No bullsh!t interview

My boss gave me freedom for the way I interview each candidate. In the end, I had just pass him who - in my opinion - is a good fit for the job or not.

I decided to ask only questions that were somehow related to the actual tasks that the future candidate will have to do - so no fancy quizes or programming puzzles that won't be ever used at work.

I've split each interview into specific phases:

#1 Get to know the candidate

I have asked personal/generic questions there. Who you are, what did you do, what projects are you proud of. I've also asked about most difficult / interesting tasks each candidate had to solve. Most answers was so interesting that made me want to learn more about the topic after the interview ends :)

This phase was a good warmup for the each side of the interview and relaxes atmosphere a bit ;)

#2 Get to know what candidate knows

Second phase was about the general knowledge of the candidate - what libraries / frameworks she/he used in the past, which ones were the most interesting in their opinions, what are the pros and cons about each of them. More technical conversation, but still candidate could generalize there.

#3 Get to know if candidate knows what you think she/he should

Since at QContact we are using Vue.js framework for the front-end part of our applications I had prepared some questions specifically about this framework (knowledge of it was mentioned in the job description so there was no (besides 1) candidates who didn't know Vue).

First questions were pretty generic: if candidate have production/commercial experience with it and/or how it was used (via CLI or direct <script> include) etc.

Then I've gone through the basics - e.g. lifecycle of the components (and their descriptions), using filters, built-in events examples, what is v-model, how v-for loop works and why it needs :key prop or what is the difference between v-if and v-show.

Then I've asked some questions about the Vuex - what it is, how it works and if candidate used it before.

If previous answers were pretty good I was digging a bit deeper, e.g. if candidate knows when we should use Vue.set or what Vue.nextTick is about - at this point if candidate was unsure about the answers I didn't really care, since knowing answers for some of that questions requires having a bit more experience with the Vue.js than just a simple hobby side-project (I was aware that Vue.js market was still pretty young and people didn't have such experience yet).

I've tried to not ask "really basic questions that can be hard to answer because we are not thinking about it on a daily basis" such as about JavaScript closures, this keyword, hoisting or window object - I think some people might find it weird, but in my opinion candidates very often forgots to refresh their memory about it and find it hard to talk about (even if they know how they works but find it hard to explain it well) and become stressed out for the rest of the interview. I also think that it is really easy to find out (based on whole conversation) if candidate have really great knowledge about the tool she/he is using or not. Besides that, most of the candidates had included github profile links in the CV so I've took a look on it before the interview ;) (if there was no link, some of the candidates has showed me the code they've been working on lately via screen sharing)

The last part of this step was about the ES6 - if candidate has used it before, what opinion she/he has about it and what she/he finds best and worst feature of it.

#4 Let candidate know what she/he want to know

Final phase was for the candidate to know more about the position and the company. I was trying to answer all questions each candidate had for me about the job.

Ending words

Interviews are hard. And not only for the interviewed person. I was really stressed out during couple first conversations, especially that I was talking with people from various countries with really different (and sometimes difficult to understand) accents (all conversations were spoken in English).

It was really rare to just reject someone after the interview - such candidates had to have really low experience with Vue.js or JavaScript itself (there was only one that even didn't have any experience with modern front-end development (jQuery only, no bundler- or transpiler-related experience), he was mostly working on the backend in the past).

In the end I had to prepare a list of the best candidates (which was also a difficult task, since I've end there with 3 people on the first place, 2 on the second etc.)

Besides all the stress, it was actually a great educational experience to learn how does it feel to be on the other side of the table.

Immodestly I think I did pretty well, since I wish to myself to meet at some point of my career a similar recruiter to myself ;)

All the best for job seekers and their recruiters!

-- ł.