MAGAZINE

Career Profile: The Programmer

Edge Staff's picture

By Edge Staff

September 27, 2008

See also:

Related Articles:

With the sheer number of content creators required, the tools have to be much more robust and scalable, even compared to Xbox days. It’s an order of magnitude greater.

This article is part of the Get Into Games feature presentation. Check out the rest of the series for a complete look into the reality of getting a gaming career, as told to us by some of the industry’s best talent.

If you think object orientation means putting three bejeweled statues on the correct plinths to open Ramon Salazar’s private bathroom, you might want to skip this page. Conversely, if you think the job of a programmer is to go trailblazing while the lesser mortals catch you up, you should probably reboot your ego. Programming naturally favours those predisposed to bravura problem-solving feats, but its need for communication and coordination is as great now as with any modern discipline. And, as Kieran Connell, head of software at Rare, explains, calling yourself a specialist isn’t always advantageous.

What makes up a day’s work for a game programmer?

That depends very much on what part of the lifecycle you’re in. At the very beginning you can start with concepts and prototyping, with a very small team and a creative environment where you might be working one-on-one with the designer. You’d be working on new ideas and different systems on a day-to-day basis, normally reusing the existing game engine, putting pieces together in different combinations.

Then you move forward to a preproduction stage which is more about technology, figuring out what and how much technology’s going to be required. That’s when the really technical guys get involved, thinking about how they’ll get the art guys’ stuff into the game. Then there’s the final process which is obviously production, which is about getting content in, testing and debugging. Day to day, it could vary from talking to designers to working out buglists and working out what’s needed to get the game shipped.

How has the job evolved?

Even within Rare, games are so big and complex that one individual team can’t do everything themselves. So we either use middleware – we use Havok for a lot of our games – or we have an internal shared technology group. With the sheer number of content creators required, the tools have to be much more robust and scalable, even compared to Xbox days. It’s an order of magnitude greater.

Do you need to have a wider overview nowadays?

I wouldn’t say that’s necessarily true. Some people have actually become more specialised because certain areas have become much more complicated. So you’ll find people specialising in, say, networking, due to the explosion of online. The problems can be very difficult and so people need to concentrate. At the higher level, I suppose, they need to have a broad knowledge of what’s going on – but even they might not be able to dive deep into something like the graphics engine any more; they might need to defer the nitty-gritty to greater minds, so to speak.

Can learning UnrealEd really, as Epic suggests, guarantee you a job?

Just sitting down with Unreal Editor probably won’t. It’s good for Epic that Unreal is probably the closest we have to a standard editor environment, and it is something to put on your CV if you know your tools. But there’s a lot more that people need to know, especially from a software point of view.

What’s the ideal portfolio?

For software, it doesn’t necessarily have to be game-related. That always helps, obviously, because we make games for a living. But there are some very difficult problems that need to be solved and tackled from a software point of view, so if anyone can have a non-trivial demo of that capability, be that from the world of computer science, database or compiler technology, or some sort of algorithm, that’s equally valuable to us as someone who’s created an entire game on their own.

How much of the job can be prepared for in advance?

You need to learn the basic skills of the trade, and that’s far more about fundamental things that are transferable: maths skills or algorithm skills, good low-level programming skills, and an understanding of how a computer works, the GPU and CPU. Other things are more ephemeral. A lot of people will put that they know DirectX, for instance; that’s great for us because we make games for the Xbox, but it’s irrelevant for PS3 developers. It’s the same with specific languages – so long as you know how to understand the concept of computer languages and how to program, it doesn’t really matter what language we use in the future. So there’s a lot you can learn at university, but you have to make sure it’s the fundamentals; showing that you’re up to date and relevant is just the icing on the cake.