Skip to content

Instantly share code, notes, and snippets.

Created February 20, 2017 02:26
Show Gist options
  • Save lazywithclass/0763610f63d6ad09f38f05dbc70f58b8 to your computer and use it in GitHub Desktop.
Save lazywithclass/0763610f63d6ad09f38f05dbc70f58b8 to your computer and use it in GitHub Desktop.
Thoughts on interviews

Thoughts on interviews

These were actual interview experiences I went through, I am not criticising these employers' way of interviewing people, rather I want to use their examples to reason about my point of view.


Phone, strong foreign accent, difficult to understand exercise

What made you, the interviewer, choose

  1. someone with a really strong accent to communicate in 5 minutes, over the phone, ...
  2. ... a difficult to understand problem that has an easy solution

About 2. you might be tempted to say that it's part of the requirements of a good candidate to be able to understand a problem at the first take (I strongly disagree, but let's assume it's ok).

Point 1. baffles me, I don't have anything against people with accents, I'm italian I know how do I sound lol, but I think it's reasonable to suggest that for a phone technical interview you should prefer someone that has a neutral accent, so to convey the problem to the other end in the most understandable way possible; unless you are hiring someone that has to know the other language, if so please state that into your offer so we won't both lose time, and what's worse I will not feel bad for a week for both having not understood the person and the problem.

Here's a challenge, we will never answer back though

This is the absolute worst.

If you are not anymore hiring for a certain position, and you, for example, have a live challenge that starts after a curl on some URL make it invalid (410 gone?), or make it more difficult, so that if someone gets it right you definitely want that person in your team.

Never forget to reply, it's extremely rude to the person that took the time and effort to finish the challenge.

Here's a challenge, we will never give you all the feedback you need, ha!

Like... really?

A simple "no" with a couple sentences explaining why your company does not give feedback is not enough, especially after I went through all the process. I want to know what I did wrong, if I have some serious flaws that are not evident to me I want to exactly know what they are! Interviewing is also the way I confront myself with what I'm supposed to know for those dream companies I want to work for.

Here's a challenge, we will mark you down for things in the specs

If you say that, for example

the input can come from stdin or file

make sure that you clearly state that either

  • the solution should accept both, or
  • the solution can accept one or the other

Because it's important that you don't mark people down for small misunderstandings. Communication is king during the interview, it's really annoying when you're sure you did it right but no, in the end you didn't, especially if just misunderstood the specs, especially if you knew how to do it the other way also.

This is our challenge, there are many like it, but this one is ours

"You are given the task to design and code a URL shortner service, how do you approach the problem?"

There are three possible scenarios here:

  • you heard this before

and you work your way through as a pro, possibly not rushing too much, you don't want them to understand that yes, a lot of companies ask this and, of course, you prepared.

  • you are a pretty good engineer

you are not feeling the pressure of coming up with "The Good Reasoning And Thoughts" every employer wants to hear / see on the whiteboard and work your way through, it's not real challenge for you, so I might say that this question is not really assessing anything about you.

  • you start thinking about it

I am here.

The bottom line is: do you really want to hire a developer that aces interviews or a developer that can work their way through the problems they will face?

The interviewer is surprised by your solution

But you still feel bad about it. I want to be surprised by them, not the other way around.
I understand this might be personal, but I tend to agree with "don't be the smartest person in the room", in the sense that I would like to pass an interview just barely, I'd like to join a team where I barely have enough experience (probably experience is a better comparison term than smartness) to be there.

Phone interview, we can't see you, you can't see us

Asking what is an array in a phone interview might be the Most Difficult Question Ever.
Ok probably just for me, but imagine getting it slightly wrong: you make a pause and hear nothing from the other side, even for a few seconds (which is pretty normal in phone conversations) but in this case it could upset you: "Did I really just got the definition of array wrong?!?" or "Why are they silent?".

For sure you can be proactive and help yourself asking questions to understand if you're headed in the right direction, my point here is that any question, asked on a phone interview, or in an interview where you can't see the interviewer, becomes way more difficult.

A proposal

After all of this I feel like I should say what makes a good interview IMHO:

  1. Scan through the resume - does the person list the skills you need?
  2. Phone interview - is the person a pleasant individual, and roughly knows a couple random things he listed?
  3. Onsite / Skype interview (with camera) - technical, relevant questions to your domain
  4. Contract / paid work - have the person work on actual problems you are facing and evaluate them for their work
  5. Offer - if you like the person make them happy

It's really important to understand the difference between 2. and 3.: 2. is a conversation you have with the person just to understand if they seems pleasant to talk with and they're not completely lying about their resume, 3. is an interview you have with that person. 2. conversation, 3. interview. Don't interview over the phone, give shy or introvert people a chance to compete with others on the same level.

Offer checklist

  • Why should they work with you?
  • Do you accept remote / offer sponsorship?
  • Be open and include a salary range
  • Don't look for ninjas, please, don't
  • What will the candidate do?
  • How the candidate will do that?
  • Where the candidate will do that?
  • For how long the candidate will do that?

(almost) Everyone gets rejected, it's fine just move on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment