Make Interviews Great Again!

Lev@Skywiz.io
Talking Tech Around
5 min readApr 24, 2018

Hiring is a challenge. Especially if you are a small company, ‘cause every single person counts. Even more so when trying to find a good linux SysAdmin.

While in general it’s a great idea to get to know a candidate before hiring, there’s very little you can do to ACTUALLY get to know someone. It takes time and several urgent 2am maintenances outages.

In my opinion, the primary goal of a technical interview is to determine whether your candidate can learn and whether he will “dig” your company’s culture and values.

Let me throw out a cliché line and tell you something that you’ve already heard — technical interviews are broken.

Linux SysAdmin interviews in 2018

Based on my experience, the most popular tools for technical interviews are question-based interviews, tests, exams, and “homework.” Let’s talk about each of these.

Question-based interviews

Most experienced candidates (that is, experienced in interviews, but not necessarily in technical knowledge) are familiar with questions like these:

  • What is load average ? ( one of the best answers btw is here )
  • Tell me how you would troubleshoot performance issues?
  • Describe a complex problem and how you solved it. Tell me about a project you’ve worked on that you are proud of. (Many candidates have pre-baked answers for that one.)

Those questions are great, but not for a technical interview. And don’t get me started on specific scenarios that interviewers have encountered during their careers and are now asking as interview questions:

  • How would you set up this specific nodejs code in a docker swarm orchestrator?
  • What potential issues might there be with web-sockets?
  • How would you solve my issues?

It probably took hours or days of troubleshooting, trial and error, and elimination to find and fix that issue — the candidate may have had the same issue, or may have no idea how to solve the issue without logs, code, and setup under the pressure of the interview.

“The homework”

A few years ago it used to be part of the interview that took 1–2 hours. You got to install something like munin server and agent. Maybe even setup some dashboard, or write an access log parser and write to database.

Then, I stared to hear that candidates were assigned to set up a highly available mongodb cluster with a configuration management tool on Google or AWS.

Ok, so, first of all, companies should actually pay for the implementation of mongo cluster setup automation, even if there are plenty of playbooks, recipes, and other veggies to do it in 1 hour.

And what kind of a test is that anyway?

Are you testing whether a candidate can find the correct digital ocean page in Google that describes this process, or that the candidate can find the right ansible playbook?

Tests and Exams

Personally, I think that tests are great to pre-filter candidates. This saves time for both you and your potential hires.

I like when someone is given a task that is not copy-pastable from stackoverflow — something that proves that the candidate can search and find the right information, learn some basics quickly, and then implement that information as required by the task.

We wanted to create that experience on steroids, and if possible, to remove interview stress, add some fun to the interview, and add a touch of our company culture.

Introducing Escape Box

Wikipedia says, “An escape room is a physical adventure game in which players solve a series of puzzles and riddles using clues, hints and strategy to complete the objectives at hand.”

We took that concept and replaced the room with a server, and in our box, the riddles and puzzles became a bit more technical. And there you go — we have an Escape Box.

First, you will receive an email with an IP and GPG key. If you browse to that IP, you will see something like this:

Hopefully you will try to SSH to the server and this will lead to this:

But examining a bit closer you might find what is really running on port 22:

So, after struggling a bit, completing another step, and finally logging in to the system, you will be greeted by this message:

Once elasticsearch is installed a background process identifies that port 9200 is now open and throws a broadcast message detailing the next step… and so it goes until the last — point encrypted file. Which is decrypted by the GPG key the candidate initially got.

Here’s what our latest and greatest candidate thinks:

Great virtual escape room game, good challenge using linux real world tools.

The riddles were challenging but fair, I would polish the instructions a bit.

I liked it and I would take part in similar games.

Fun experience, highly recommended.

Sure — it’s far from perfect, but here’s where it gets even better. If you successfully complete the Escape Box and are hired, you must do one of the following:

  1. Improve something in the previous box
  2. Add a new step, puzzle, or riddle to the box

So what’s next?

After discussing our idea with several friends, we decided to share it with the world. We’ve decided to migrate this to automated vagrant installation, and will be sharing the Escape Box in a public repository so that everyone can create new boxes and contribute recipes, puzzles, and riddles.

--

--

Lev@Skywiz.io
Talking Tech Around

I’m in love with DevOps, gadgets and ortholinear keyboards.