Game Software Engineering Internship 2021
Rare's game teams are responsible for generating the concepts and designs for our titles and for creating the software and art that bring these to life. As a Software Engineer on a game team, you will work with other Software Engineers, Designers, Artists, Testers and Production staff to create game features. In this multi-disciplinary environment, everyone has a part to play in providing inspiration and creativity and no-one truly performs just a single role. It doesn't matter whether an idea has come from an intern or a senior member of the team – it's just as worthy of consideration and inclusion in our games.
Game Engineers can expect to work on many aspects of a game, whether it's networked gameplay, artificial intelligence or user interfaces. Flexibility and the desire to give things a try are crucial. You may work in prototyping environments or on games that are already in production.
We're big believers in high-quality engineering here at Rare, and since we're developing our products as services, we aim for fast iteration yet with robust methods. This means that we embrace modern development practices such as Continuous Delivery, automated testing, code reviews/pair programming and agile methods (e.g., Kanban).
On the language front, we use everything from low-level C++ through to domain-specific languages (e.g., Unreal Blueprint, ActionScript) or C#/.Net. Game Engineering Interns could also reasonably expect to work on products using commercial game engines such as Unreal Engine 4 or Unity, or possibly on our own in-house technology.
Recent Interns in game teams have:
- Made new Player Items.
- Added new AI Abilities.
- Created new environmental threats.
- Supported technical design to ship story quests.
- Originate, implement and iterate on game features in conjunction with other Engineers, Designers, Artists and Testers.
- Identify and surface risks in the areas that are being worked on.
- Solve problems through the application of sound engineering practice.
- Continuously work to minimise technical debt and maintenance hazards.
Devote time to personal improvement in order to further game development and programming knowledge.
What do I need to qualify?
- A solid grounding in Computer Science theory and genuine enthusiasm for the subject.
- Demonstrable experience of its practical application.
Please note: it is not essential to have experience in computer games development or to be on a games-specific course.
And what will make me really stand out?
Competition can be tough for these opportunities, but there are things you can do to help you stand out. As a priority you should have:
- A portfolio of things you are genuinely proud of – this is your chance to show off 😊
- A covering letter that demonstrates why you want THIS job.
There are also a long list of other things that will count in you favour. This is absolutely not a box ticking exercise but if you have strong skills or experience in any of these areas make sure you let us know!
- Programming interests outside of those prescribed by a university course (e.g., clubs, hackathons, game jams, hobby projects).
- A low-level language (e.g., C/C++).
- A managed, object-oriented language (e.g., C#, Java).
- A scripting language (e.g., Python/Perl/PowerShell).
- Automated Testing
- Working with teams – either other engineers or mixed disciplines.
- Mathematical literacy
- Source-control (e.g., Perforce, SVN, Git).
- Contributing to open-source community