In search for perfect coding interview assignment

At bol.com, IT grows together with the rest of the organization. We are constantly searching for brilliant new colleagues. We believe that we are as good as our next hire, and our next hire depends on our interview process.

How do we differentiate between so-so, good and great candidates? We use different methods and tactics in order to determine this, one of them is a coding assignment.

This doesn’t show us only the candidate level but is also useful for the candidates to show their skills in action.

Now we face an interesting challenge: what should this assignment be about? Should it be 'one size fits all' or more customized for each candidate? Which languages, tools and technologies should be used? How complex and time consuming should it be?

To address the aforementioned questions and make a great process for the candidates, we started a pilot with several assignments. After the assignment is complete and the candidate possibly hired, we collect feedback about the assignment.

Our assignments are based around some core principles:

  1. Fast
    • We don't what to overload candidates with a huge assignment - we do realize that candidates have jobs, friends, family and other activities. However, we want something more complex than a "Hello world" program. So we expect candidates to spend a couple of hours on it
  2. Easy
    • The candidate doesn’t need a PhD in Computer Science to solve it.
    • There are no brain boiling algorithms or exotic data structures. The candidate needs to show competency in programing skills and problem solving.
  3. Focus on problem-solving
    • There are many tools, framework and languages and not everyone is fluent with all of them. Therefore, we keep the use of libraries and frameworks to a bare minimum in our assignment.

We are firm believers in continuous improvement, this is why we ask candidates for feedback about the assignment and incorporate their suggestions.

New suggestions are always welcome and are tested in ‘dry runs’ with our own engineers. Their feedback is also important and taken into account.

If you are curious about our current pilot assignment, you can try it here.

And if you want to talk in person reach us at banen.bol.com.

Andrey Krichevskiy

All articles by me