Careers: FAQs
- I’m still in school but think I’d like to work in the games industry. What subjects should I take?
- I’m still in school and interested in becoming a programmer in the games industry. Could you tell me what the job involves?
- I’ve decided to become a programmer in the games industry. What subjects should I take?
- I’m working on a game development degree. What courses should I take?
- What programming languages are used in the games industry? How can I learn them?
- What do you look for in programming applicants?
- How can I improve my chances when applying to Realtime Worlds as a programmer?
Last updated: 14 April 2009
1. I’m still in school but think I’d like to work in the games industry. What subjects should I take?
First of all, it would be a good idea to think about what kind of role you would like within the industry. The industry is very diverse, and attracts a broad range of talented individuals, from programmers and artists to sound engineers and producers.
2. I’m still in school and interested in becoming a programmer in the games industry. Could you tell me what the job involves?
Programming (sometimes referred to as software engineering) primarily involves writing “code” — a set of commands in a language that is understood by the computer. While this sounds very dull, it is actually a very exciting discipline as almost everything you see in a computer game is somehow related to this “code”. Special effects, artificial intelligence, animation, and physics simulation are all expressed in code, naming but a few. As well as just writing code, programmers strive to produce clean and well documented code that is both elegant in design and efficient to run.
3. I’ve decided to become a programmer in the games industry. What subjects should I take?
At school computing, mathematics and physics are the most relevant to the industry. Some schools offer a choice of both IT and Computing — the difference being that IT focuses on how to use a computer (using Microsoft Word for example) whereas Computing focuses on how a computer works, the latter being most relevant to a career in programming.
Some colleges offer vocational courses in software engineering or computer science. These courses are great because they deliver the fundamental skills for a career as a programmer. If considering one of these courses, make sure that the course will give you enough credits to get into a university course afterward.
At university level, there are two distinct types of course — traditional and specialist:
- Traditional courses such as software engineering, mathematics, and computer science tend to offer a range of skills that can be directly applied to a job in the games industry. A traditional computer science or software engineering degree is great preparation for games programming; often even better than specialist games courses. Check the course details though as some traditional courses are more theoretical while some are more practical — pick one that best suits your preferred learning style.
- Specialist “games industry” courses also exist. When considering this type of course, one should avoid courses that offer “a bit of everything” as they tend not to develop skills in one particular area (such as programming). Prefer games courses with “Skillset Accreditation” and make sure this accreditation is in the “Technical Path” (as opposed to the “Art Path”). These courses are recognized by the games industry to teach the relevant material.
4. I’m working on a game development degree. What courses should I take?
The danger with game development degrees is that you could be missing out on core topics in computer science. Do not take non-programming related courses such as sound design or 3D modeling. You need all the time you can get to become a better programmer.
Many computer science degrees provide course listings and lecture notes online, for example MIT and Cambridge to name but a couple. If you’re motivated to learn things in your own time, check these to see what you’re missing out on. Don’t worry too much about highly theoretical topics such as logic and theory of computation. Essential practical topics in computer science include:
- Object-oriented programming and functional programming
- Data structures, graphs and algorithms, including complexity analysis
- Compiler construction
- Operating systems and computer architecture
- Networking basics
- Database basics
- Parallel programming
Try to find a summer internship to gain some practical experience. We offer a number of summer student positions each year. If you can’t find a game studio position, look for a programming internship outside the games industry, as you will still gain valuable experience of programming.
Check out our Recommended Reading list as well.
5. What programming languages are used in the games industry? How can I learn them?
The programming languages that are most commonly used in the games industry are C++ and C#, so a course that offers to teach these languages will give you a head start in finding a job in the games industry.
If you are a student, you might be able to obtain a free copy of Microsoft Visual Studio (a software package that allows you to write programs in C++ and C#) through Microsoft’s DreamSpark program.
If you aren’t eligible for Microsoft’s DreamSpark program, you can still obtain a copy of Microsoft Visual C# and Microsoft Visual C++ express editions free of charge from Microsoft’s website.
Also check out our Recommended Reading page for a list of books that many of us have read here at Realtime Worlds.
6. What do you look for in programming applicants?
We look for four main things:
- Analytical problem-solving ability. Most coursework projects don’t push this very hard, because you spend most of your time on the messy details of getting software to work at all. Try to seek out some really tough problems to work on!
- Ability to craft great code. The best way to get better at this is to spend a lot of time learning to program. Write lots of code, read lots of programming books, and reflect on your code so you improve. Learn more than one programming language.
- Teamwork and people skills. We work in large teams at RTW, and the code you write has to be maintained and used by other people. You need the ability to explain technical ideas concisely and clearly, even to non-technical people such as artists.
- Passion for your work. This is one of the most misunderstood attributes, because so many applicants are passionate about playing games, whereas we need people who are passionate about making games. Try to analyze games that you play, to think about how they work. Immerse yourself in programming, and find specific domains that appeal to you, such as AI, graphics or networking.
7. How can I improve my chances when applying to Realtime Worlds as a programmer?
Hopefully you followed our other advice and are now a strong programmer! If so, you need to convey this to us in your CV. It doesn’t need to be artistic, but it does need to be:
- Well-structured and logically laid out. Make it easy for us to see the information we’re looking for at a glance.
- Free of mistakes. Multiple spelling and grammatical errors are inexcusable and don’t reflect well on your attention to detail.
- Be specific about things you’ve done, projects you’ve worked on or problems you solved. It’s not enough to say, “I implemented the AI on my group project.” All graduates are going to be saying things like that. You need to stand out. Tell us what language you used, tell us what algorithms and techniques you used, what problems you faced, what you learned from the experience, and so on.
Submitting a demo can help you to get noticed, but remember that our hiring managers may not always have time to look at demos in detail, so make sure your CV is good enough to get noticed on that basis alone. If you are submitting a demo, remember to include source code — we will often be more interested in this than the running code.
Remember that submitting your course project as a demo may not be a good idea if everyone else on your course did the same project.