Discussion on: How does your company conduct interviews?

paragoniescott profile image
Scott Arciszewski

If possible, it begins with a short (5-10) minute phone conversation to explain the process and answer any questions. If the person has a disability, we'll opt for IRC/XMPP/Email/Slack/whatever.

Our process is then:

  • We ask the candidate to email us their SSH public key.
  • We give them access to a git repository that contains a sample application.
  • The candidate is then expected to add a small feature, specific to the type of work they'll be doing. We might ask a frontend designer to add mobile-friendly navigation. We might ask a backend developer to add a search feature. Third party libraries are OK. This should be time-boxed to less than 4 hours of work.
  • Candidates are expected to email a patch file with their changes, any unit tests they wish to include, etc.

We then evaluate the candidates objectively:

  • Did they solve the problem they were tasked with?
  • Did they write unit tests for the new features?
  • Is the code easy-to-read and/or well-commented?
    • Does it pass static analysis; e.g. psalm?

  • Did they find and fix any of the intentional security vulnerabilities in the sample project? (If we're hiring for a security position, this is a must.)

  • How extensible and maintainable is their solution?

We make our hiring decision based off these metrics. Over time, we plan to add better metrics and cull the ones that aren't a better predictor of excellent hires.

We do not look at resumes, CVs, etc.

We do not whiteboard candidates. We do not fly anyone anywhere for a stressful in-person interview.