Also known as:
- Games programmer
What does a generalist programmer do?
Programmers work at the heart of the game development process. They write the code that controls the game, incorporating and adapting any ready-made code libraries and writing custom code as needed. They test the code and fix bugs.
As game development is increasing complex, there’s an ever-growing body of specialist programmers. Just as important are generalist programmers who are chiefly concerned with identifying the most stable and efficient means of coding and seeing the scripts are clean and reliable. They also need to be able to turn their hand to whatever is needed, such as writing code that makes better use of the available storage within the graphics engine, for example.
Generalist programmers work with the QA technicians to identify weaknesses in the system to write more reliable code.
What’s a generalist programmer good at?
- Maths and physics: use advanced mathematics, understand physics concepts like collision and particle dispersion
- Programming: pick up script languages easily, write clean portable code
- Knowledge of games engines and platforms: understand graphic integration, collision detection, data transformation, database management
- Communication: work with the specialist programmers, keep detailed technology documentation to record changes made to the engine
- Timekeeping: take instruction and work to deadlines
Tools of the trade
These are some of the tools used by professionals, but you can develop your skills using free software. Go to build your games portfolio for a list.
- Programming language (C/C++, Python, UE3)
- 3D animation software (Kismet for Unreal, Quake, and Half-Life)
Who does a generalist programmer work with?
How do you become a generalist programmer?
Some employers look for a generalist who has previous employment as a specialist or generalist programmer but there are some entry-level roles available too.
At school or college:
If you want to go to university:
Take A-levels, Highers or Level 3 BTECs from this list. Complement your science subjects with art ones, if you enjoy them:
- Computer science
- Graphic design
- Graphic communication
- Art and design
- BTEC Extended Diploma in Creative Digital Media Production
- BTEC Diploma in Computing
If you want to go straight into a job or apprenticeship:
The following Level 3 vocational qualifications would be relevant:
- BTEC Diploma in Computing for Creative Industries
- AQA Technical Level IT: Programming
- OCR Technical Level IT: Programming
Build a portfolio:
Create work that you can show off to employers. Go to build your games portfolio to learn how.
Create levels of a game using software provided by the publishers.
Get an apprenticeship:
Try to find a Level 4 Software Developer apprenticeship. Even if you don’t get one in games, you will develop skills that you can use in games later on. Go to how to become an apprentice to learn how to find apprenticeships in your region or approach companies directly
Get a degree:
Most people in the games industry have got degrees. Get a degree in, physics, computer programming, game development or advanced mathematics. Or have a look at ScreenSkills’ list of recommended courses in games and select one in programming. We recognise courses with our Tick award where they offer training in the relevant software, dedicated time to building a portfolio and have strong links with the games industry.
Search for jobs:
Use the UK Games Map to find out if there are games companies near you. Then go to their websites directly and check out their open roles. Even if they are not advertising the right role, if you like a specific company it’s worth emailing them to let them know you are looking in case something suitable comes up in future. Some employers might take you on if you have a strong portfolio and software skills.
You might also be interested in…
Some other job roles in programming
Writes the software that forms the basis of crashes, collisions and other things that move
Makes it possible for gamers to play with each other, develops code behind multiplayer games
Creates the brains of the game, makes non-playable characters behave in believable ways
Back to programming