Some advice...
Applying for jobs at the end of your degree can be an exciting opportunity to explore potential career paths and reflect on what you want from a future occupation. However, it can also be a stressful time where you may need to learn to cope with rejection and build up your resilience too. Check out the sections below for advice.
Don't take it personally. It may help to think of the recruitment process as an algorithm—and an imperfect one at that. An algorithm doesn't like or dislike you, and it's not worth investing energy in letting it upset you or undermine your confidence. There is a certain amount of randomness in the algorithm too, so don't be afraid to try again—even with the same company.
Embrace real-world work experiences. Remote working has become the norm in many technology companies, and this undoubtedly brings many advantages. However, it is still highly beneficial for junior developers to work alongside experienced colleagues in a shared physical studio space. Not only will you learn more quickly, but there is the potential to build professional relationships and support networks faster too.
The games industry is not for everyone. Competition for junior roles in the games industry can be fierce, and game programmers are typically paid less than their counterparts in other industries. Working on big games where you have a small role on a large product doesn't work for everyone either. Keeping your passion for game development alive as a hobby may be a more fulfilling option for some.
To secure an interview for a position as a junior game programmer, you will need to be able to demonstrate a portfolio of relevant work. This doesn't have to be commercial-quality work, but it's not something you can pull together on your own in a couple of weeks either. Ideally a portfolio would be built during the entire final year of your degree programme, and this is exactly what a good Game Programming degree would help students to do. However, to create a competitive portfolio from scratch is likely to take at least three months of full time work.
As a Computer Science student, consider choosing a final year project which could double as a portfolio piece, or converting an existing piece of coursework into C++ (e.g. a graphics assignment). Although you are bound to feel stressed and busy in your final year, it's worth remembering that most employers are probably less concerned about your degree grade than you are. In the games industry, a great portfolio and a 2:1 degree classification is more likely to get you a job than a 1st class degree with no portfolio.
An 'ideal' portfolio contains a small number of high quality portfolio pieces. Unfortunately, hiring managers don't have time to look at dozens of projects, or to read dissertations, so make it easy for them by only showing them the best, relevant programming work. Also be careful how you pitch yourself: small companies (who employ generalists) may be interested in your design and art skills, but bigger companies are typically more interested in specialists, and claiming expertise in more than one discipline can undermine your case.
Overall a good portfolio structure might look something like this:
A game or tech demo written in C++. Every game programming portfolio should contain a good-sized project written completely in C++ unless you are exclusively targeting small, indie game development companies. You are unlikely to be interviewed at larger companies without this. If you've not found a way to use C++ in your degree assignments, then you could try using The PlayBuffer C++ framework to create a simple 2D game. When making a portfolio game the complexity is often less important than the level of finish: a half-broken GTA clone is less likely to impress than a polished 2D Super Mario Bros clone (circa 1985). If you are making a tech demo then make sure you are using recent versions of relevant APIs: not something 5 years out of date.
A game developed in a multi-disciplinary team. Game programmers need to be able to work well with team members across different disciplines, including artists and designers. A fast and fun way to get this kind of experience is to take part in a Game Jam. Make sure you work in a multi-disciplinary team including artists and designers, and not just other coders—as this is a key experience to be able to talk about at interview. Try and team up with other students building their portfolios, as it's well worth spending additional time tidying up the project after the jam to make it portfolio-worthy. Finally, for a group project, make sure that you are very clear in your portfolio which of the game's features and code you worked on personally.
A game developed in a game engine. Most commercial games are developed in Unity or Unreal, so its useful to have some experience of using one or both of these game engines. Nonetheless, engine demos are often seen as less informative portfolio demos than pure C++. For example, it's unrealistic to expect hiring managers to download and assess a 3GB Unreal project file, and when it comes to Unity, if you can program in C++ then you should have no problem programming in C#. Due to the size and complexity of game engine project files it's probably not worth sharing them on your portfolio, and instead focus on providing a video of the game and a select few source code files that illustrate a key feature that you developed.
Game programming portfolios are typically hosted on GitHub, which allows potential employers to easily browse your code, track your development process, and evaluate your contributions. However, many students use GitHub purely as a way to "publish" their work, rather than taking full advantage of its potential for version control. A strong GitHub profile should showcase more than just a single final commit—employers ideally want to see the progression of your work through multiple commits, reflecting how you iterated, fixed bugs, and refined your project over time.
It's also beneficial to demonstrate how you've used GitHub in team settings. Version control systems like Git allow multiple developers to collaborate efficiently, and showing that you're comfortable working within a team using branches, pull requests, and merging features will set you apart from others who only use it individually.
That said, be mindful that your GitHub can reveal more than you intend. If you claim to be a passionate and active coder, but your commit history suggests otherwise, it can work against you. Make sure your GitHub reflects your best habits as a developer and reinforces the narrative you're presenting in interviews.
Before you start, think hard about how open you are to relocating. Moving to work alongside colleagues could add value to your career development, even if only a minority of a studio's development staff work in the office. If you're influenced by location, start by exploring the UKIE's Games Industry Map and use it to create a shortlist of potential employers in your preferred locations.
Once you have a shortlist, you should check all the jobs pages of each company's website to see if they are advertising junior roles. Just because somewhere isn't currently advertising doesn't mean you can't put in a speculative application—there's always a chance they were thinking of advertising when you apply. Sometimes it's also worth cheekily applying for roles not aimed at juniors for the same reason. Don't expect or wait for a reply from speculative applications, though—you'll need to place a lot of bets at this stage.
Once you've covered all the places you'd most like to work, move on to the places that are actively advertising for roles. Start searching on commission-free websites like Games Jobs Direct or GI Biz: Jobs as they don't charge companies additional recruitment fees to hire applicants through their sites (beyond a flat fee for being a member of the site). This is important as 'recruitment agencies' typically charge employers a fee based on your starting salary, which can make you less competitive than a direct applicant.
If you feel like you have tried all other options, or you simply don't have time to do the legwork yourself, then recruitment agencies can be an enormous help. Some studios choose only to work with recruitment agencies and the best agencies are very professional at what they do. Aardvark Swift, Amiqus, and Datascope are all well known recruitment agencies with solid reputations in the games industry and are certainly worth considering if you already have a job and don't have as much time to look for your next opportunity.
When you submit your CV to a large game studio, it will usually be subject to sifting by the recruitment team before it is seen by a hiring manager. For junior game programmer positions, the recruitment team will typically be looking for C++ experience and a relevant portfolio of programming work—so make sure you make it obvious early in your CV that you have these things; otherwise, your application may not get any further!
There is some debate on the ideal length of a CV, but it is certainly no longer than two A4 pages for a new graduate. Make sure that the URL to your portfolio website is clearly presented, correct and publicly accessible (ask a friend to try it). If you are sending a physical CV then shorten your URLs with a tool like TinyURL to make them easy for others to type in.
As a recent graduate, it is important that you put your undergraduate degree grade on your CV, and if you miss it off then the employer is likely to assume that you didn’t do very well. You could also put a single overall figure representing your degree 'score' here if you want to (average overall percentage or GPA), but avoid going into much more detail than that. Listing your marks for every module can just draw attention to your weaknesses rather than your strengths.
Make sure to explain qualifications which aren’t just a simple BSc or BA honours degree. Employers are usually less aware of MComp / BEng / MEng qualifications or what the potential benefits might be, so make sure you make it clear on your CV. They are also less likely to be aware that postgraduate degrees have classification grades, but you have nothing to lose by stating that you achieved a Merit or Distinction.
As a recent graduate, your A-Level or BTEC grades are definitely still relevant and should be included on your CV. Be careful with BTEC qualifications insofar as employers may assume that a DD is a bad grade, not a double distinction! However, your GCSE subjects and grades are less relevant apart from Maths and English. If you have completed your GCSEs under the 9-1 grading system, then it’s worth including their equivalents as A-F grades to help employers.
Try to keep the employment history section of your CV focused on software development. Include employment experience in other areas, but don't allocate too much space to it. For example, you might amalgamate a series of part-time retail jobs into one description, summarizing the combined experience and skills they gave you. It's likely you won't have enough (or even any) commercial game development experience to fill your CV, so turn your hobbyist experiences into descriptions that serve the same purpose. Game Jams or community projects can usefully take the place of a job in your employment history (so long as you make it clear they were not paid positions).
A good covering letter certainly adds value to an application, but a bad one can terminate your application instantly. The most common cause for this (and it's surprisingly common) is a covering letter which talks about how much the applicant really wants to work for a different company! This kind of mistake is easy to understand, but hard to forgive, so its always worth double and triple checking which covering letter you are sending to which employer...
Nonetheless, a good covering letter should aim to demonstrate that you have done a bit of research on the company and have a genuine interest in working for them as a game programmer. Ideally the letter would address the hiring manager (most companies will give you a name if you phone or email in advance of applying) and show that you know a bit about the products that the studio works on. It's probably not worth going too much further than that, and a complete life history of your videogaming passion is taking it too far.
When interviewing for a junior game programming position, it’s common to encounter some form of technical test or interview questions about programming (typically in C++ or C#). It's probably worth doing a bit of maths revision before you head into an interview too - aspects of linear algebra make common interview questions too.
In addition to technical tests, interviewers may ask you to talk through code you've written, often pulling examples directly from your GitHub portfolio. Be ready to explain your reasoning, discuss challenges you faced, and describe the decisions behind the structure of your code. This is your opportunity to show that you not only understand what you've written but also why you approached it the way you did.
It's important to remember that the interview process is not usually designed to catch you out. Interviewers are more interested in how you think, how you approach solving problems, and whether you can work well within a team. Demonstrating that you can learn and adapt is often more important than giving a perfect answer. Being able to articulate your thought process is more important than immediately arriving at the solution.
It’s also a good idea to prepare some thoughtful questions for the company or interviewer. This helps to show that you’re genuinely interested in the position. You could ask about the development process, the company culture, opportunities for learning and growth, or even the challenges they’re currently facing. Being curious and engaged demonstrates your enthusiasm and leaves a positive impression.
One last thing—don’t worry about dressing formally for a games industry interview. Wear what makes you feel comfortable and that will be perfect. Nothing else is required.