Gareth Martin, senior engine programmer at Coconut Lizard talks about his role, the studio’s outlook to hiring and how his code has appeared in thousands of games
What is your job role and how would you describe your typical day at work?
Officially I’m a senior engine programmer for Coconut Lizard, but unofficially I’m the C++ expert. If someone comes up against an incomprehensible compiler error message, they come to me. The rest of the time I spend digging into obscure bugs, crashes, or optimisations in the Unreal Engine codebase. It’s not necessarily as flashy as working in art or game design, but it’s immensely rewarding – I get to get right down to the metal and fix things that nobody else can.
Each day or week can bring different things to look at – maybe there’s a memory leak in one part of the game, or maybe some recent gameplay code has exposed a crash in the engine – digging in deep and working out what’s going on is an enjoyable challenge. Some of my fixes have ended up being pushed back to Epic and integrated into UE4 itself – so some of my code can be found in thousands of games. Even without that, as contractors we work on many different projects for many different companies and get to make fixes all over the industry.
What qualifications and/or experience do you need to land this job?
Personally I have a BSc in Games Programming, and coming up on 14 years in games – but it’s possible to land an entry level programming job without either of those. What’s most important is knowing C++. Other languages help (we encounter everything from Python to C# being used by our clients) but C++ is what Unreal Engine is written in, so you need to know it. We work closely with Newcastle University so that graduates come out having the skills we look for, but we’ll hire anyone that’s good enough and who we think will be a good team fit. As at Coconut Lizard we specialise in UE4, some experience with that (especially the C++ side) would give you a leg up over other candidates – and the best part is, it’s free to download and play with! That said, we do consider all candidates with experience in other engines – we’ve hired engineers experienced with other companies’ proprietary engines and they have made a hugely positive impact on our work after becoming familiar with Unreal.
If you were interviewing someone for your team, what would you look for?
At Coconut Lizard, the main thing we look at is your ability. Everything starts with a CV of course, but if you’re a recent uni graduate with no industry experience, having a Github link or the like and we get to see how you really code, we really like that. We have a UE4 programming test we often send out for pre-screening, and then we bring you in to interview, show you round, and assess how well you’d fit our team, along with your attitude and mindset. We do a series of questions on C++ and the like, a live programming test (no whiteboard coding, we give you a real compiler!) and have a look through your portfolio.
Asking questions is looked on favourably – we want people who are interested in the work we do, and who know when they’ve reached the end of their knowledge and need to ask someone else. Being able to dig into unfamiliar code and work out what it’s doing quickly is also a valuable skill – it’s not unusual for us to need to fix code (whether written by clients or in UE4) that was written in years past and the specifics of which have long since been lost.
What opportunities are available for career progression?
Coconut Lizard is a flexible company, so we don’t have a rigid career progression / management structure. We don’t push people into management roles based purely on years in the industry. Instead, in addition to pay, progression mostly comes in the form of becoming the go-to specialist for something or another. Even our juniors tend to rise quickly into this – we’re all working in different areas so if you share that knowledge you’ll get the respect of your peers, whether you’ve been with us a dozen years, or only a few. We regularly attend UK development conferences, talks and training courses, keeping the opportunity to attend these open to any of our employees – we place great value on training our employees, so we don’t restrict this to seniors.