The Truth About Coding Tests in Games
by Amar Patel
Please upload an image to the placeholder area below which will represent this blog:
The stuff of nightmares.
You’ve worked a countless amount of hours outside of the contracted 9am – 5pm, over the course of <insert applicable amount of time>. It has been creative, rewarding, blood, sweat and tears inducing, and all of it on what will easily be one of the most eagerly anticipated games titles of this generation.
The time has come for something new to sink your teeth into and repeat the process…
Whether you’re coming in at Senior level as someone who hasn’t touched a programming test for years but could code your way out of a tough spot with your eyes closed and one hand tied behind your back, or a Junior/Graduate who has all the technical attributes freshly embedded in your mind from your academia but with limited exposure to the kind of pressure exerted on you at interviews, most of you will be issued a ‘one-size-fits-all’ programming test during interview stages.
Having the vantage point of working with some of the leading games studios across Europe for nearly 5 years, I’m in a good position to offer up some all-encompassing key tips for Programmers of any discipline when it comes to tackling what can often be the hardest part of a job interview in our market:
It’s not so much a question of you being able to write clean code. More the depth of your vital knowledge when it comes to low-level languages…
Things like Matrices, Vectors, Pointers, and Algorithms will far outweigh your raw C++ abilities. A lot of studios are able to work with a varying skill level using C++ and almost mould you to their template and style of working, however, poor maths will almost always let you down.
I may even go as far as to say that coming out of University with a Maths/Computer Science/AI qualification and being a keen or hobbyist programmer counts for slightly more in these interviews than someone who has studied for programming languages minus the maths.
You may be issued with a take-away assessment, allowing you a certain amount of time (normally a week or so) to complete a task.
With the extremely common time constraints placed on you at work to deliver, it can be easy to take the same approach with programming tests, skipping over vital explanations of how you came to the answer and what considerations were taken in working it out.
The old adage of ‘it’s not what you say but how you say it’ comes to mind…
In a week long assessment, you should have ample time to jot down various lines of code and/or a few paragraphs to take the reviewer on a journey from start to finish, ending with your summary.
Underline the final answer if you have to, but show them how you got there!
If it’s a timed test that has you stumped, then you’ll need to summon all your powers of time-management that you wouldn’t have called upon since your days at University.
It’s a fine balance between clock watching and putting 100% of your focus on the task at hand, but one that can be honed with practice assessments (such as the ones on offer from this handy website: https://www.codility.com/)
(A good one for those of you gunning for the Mid/Senior Programmer roles)
In the event that your interviewers opt for a technical discussion to get a feel for your competencies, you can bank on them deviating from the norm.
A curve ball is never far from these types of interviews – things can seem to go swimmingly well as they reel off quiz-style questions that seem suspiciously tailored to your exact coding background, before they throw in a tricky one on nodes that you haven’t given a second thought about.
Its second nature stuff, after all…
You find yourself racking your brains for anything relevant you have worked on that you can cite as an example, but nothing presents itself.
The purpose of these from their point of view is primarily to test your ability to adapt. It can leave you in a minefield.
Whilst you would never be able to guarantee that you have covered every angle in your preparation leading up to the interview, a healthy dollop of humility can do wonders for you here. Always prepare for the interview as though you’ve never programmed in a commercial environment in your life.
Quite literally, start from scratch and cover the basics even if they have never been a part of your day-to-day activities.
Whilst you and your colleagues will be aware of your skill-set, the interviewer will scrutinise everything you claim to be with laser-beam focus, and will be looking for you to justify yourself.
A wrong turn in this scenario is more than good enough for them to go with someone else for the job, so why take the risk?
The key is to do everything you can via research on the company and its relevant technologies, and be honest with yourself in deciding whether your skills fit in! The rest will fall into place…