For anyone interested in applying to PlayerData or interested in our hiring process in general, here’s a rundown of the hiring process for the Product and Ops Engineering teams. Our other technical teams have similar but not identical hiring processes.
Note that all steps are completed remotely via video call (Google Meet at the time of writing).
To get the process started send us a CV with your recent positions and skills so we can get an understanding of your experience. A cover letter isn’t essential but can certainly add valuable context to your application.
Initially we’ll have a video call, lasting around 30 minutes. On this call you’ll be introduced to two engineers from the team and we’ll talk a bit about PlayerData. We’ll also want to talk about your CV and ask you some questions about your experience. This will also be an opportunity for you to ask any questions you have about PlayerData or the hiring process.
Following the initial chat we’ll ask you to do a small coding exercise in your own time. We do this because it gives you an opportunity to work on a problem outside of an interview environment. We find this to be an effective way for someone to showcase their problem solving skills.
The coding exercise is conducted in the Ruby programming language. We understand that not everyone knows Ruby but we view the task as simple enough that learning the language features necessary to complete the task are not a high barrier to entry. It’s important to us to see that you can work in Ruby as it’s one of our main languages at PlayerData.
We also appreciate that when looking for a new job, there can be a lot of take-home work to do. So when we say the task is small we mean it should be possible in less than an hour. There’s no time limit on the task, but we have kept it small to encourage quick progress through the hiring process.
For the submission we will invite you to a private github repository where you can make a pull-request with your solution to the task.
Once the task is submitted multiple engineers will review it separately. The reviewers then agree on whether the candidate should progress to the next step.
The next part of the process is the technical interview. This lasts for around two hours in total and is fully remote via Google Meet.
For the first section, we discuss the technical task you completed where we offer feedback and discuss your approach.
Next we have a paired coding session where we integrate the work you did in the technical task into a larger application. Paired coding is a direct way to see how you work in a team and to get an idea of how you reason about a problem in real time. We use VS Code liveshare to run the remote pairing session.
We want to see you working in a natural-as-possible collaborative environment because that’s how we work as a team day-to-day.
It can be daunting to jump into a pairing session, particularly if you’ve not done it before. To help with that we do the “driving” role for the first part. This gives you a chance to get familiar with the application and allows you to discuss and reason about the problem at hand without worrying about typing.
The application is written in Ruby on Rails so a basic understanding of the framework is necessary. We aren’t testing your Rails knowledge though: asking questions about syntax and googling for the right commands is encouraged!
The next section is a data modelling exercise where we describe and discuss a real world scenario that we want you to describe to us as data models.
To aid with your description and to coordinate the discussion we use a shared whiteboard tool (excalidraw.com).
What we want to see here is an understanding of how data is stored and linked in a relational database.
This section tends to last about 10 - 15 minutes.
We aim to have reached this point in around one hour. We take a comfort break before starting this next section. We also tend to swap interviewers out at this point to keep things fresh and to prevent there being too many folks on the call.
The final section of the interview will be a series of questions and hopefully some discussions around general technical topics and experiences listed in your CV.
The aim of this part is to get more of an understanding about what makes you tick and try to get an idea of how you would fit into the team. We have published our values to give you an idea of the kinds of things we value when working together.
Once the interview is done we’ll take some time internally to collect our thoughts individually. We then meet and discuss the interview with all the interviewers that were involved and come to a decision.
We aim to do this quickly and come back to you as soon as possible. Often this can be as quick as a few hours but depending on the number of candidates and the job role this timing can vary.