Nick Burton is a senior software engineer at Rare Ltd., the studio that not long ago brought us Viva Piñata. He spoke recently at the Game Career Fair in London about having a career in game programming, and shared some of his advice about breaking into the field professionally.
Burton has been with Rare for nearly 10 years, a long stint seeing as many developers change jobs after about three or four years with a company. "Before [working at Rare], I trained as a computer scientist and did my time in university research, but now I do a lot of recruitment, interviews, things like that at the studios," he told the Career Fair audience. "So I think I've got some good insights for people like you."
Burton explained some of the basic principles of computing and core skills, and why they're important to the game programming profession. "Math and logic," he says, "are forever. But things like Visual Studio, Visual Basic, XNA ... they come and go. They're transient. So we want to concentrate on core skills."
Burton had some tips for students and young professionals who still need to either put together or polish up their resumes and CVs. The core skills a programmer applicant would want to emphasize, he says, are maths. "If you want to be a good software engineer, you have to have good maths," he says. "If you don't have it yet, take some remedial action."
Beyond math, applicants should list their software engineering training, logic and problem solving abilities, object-oriented programming knowledge, C and C++ competency, and experience working with data structures. "These all need to be on your CV as well," he says. Software engineering training may seem out of place on this list, but according to Burton, having the experience shows that the applicant can function in an environment that's at least similar to game development. "Software teams are from 10 to 40 people ... and have many lines of code. ... If you don't have some software engineering background, you're going to have trouble" because the game making environment will be completely foreign to you.
Depending on the kind of software engineer or programmer an aspiring developer is aiming to be, there are a few other skills and competencies that one would want to highlight on a resume or CV. For example, AI programming (from an academic perspective); concurrent programming -- "not even the hardware, but concurrent programming from a basic point of view," adds Burton; graphics programming ("It also gives you a grounding for programming at a low level"); debugging techniques ("If you're taught debugging at university, pay attention because it's a difficult thing to learn").