Internship Opportunities: Software Engineer

Location:Warwickshire
Job Type:Full Time

Rare: we're not your typical developer. Our 30+ years in the game-making business have been dedicated to crafting one beloved title after another, constantly trying new things, and infusing the fun we have every day into the games we create. Check out the Rare Replay collection for three whirlwind decades of evidence! We strive to keep Rare a fantastic place to work, from its beautiful location and state-of-the-art facilities to a strong focus on work/life balance.

If you're a keen gamer, chances are you've already caught wind of our epic shared world pirate adventure Sea of Thieves, released in March 2018 and a journey we're committed to for the long haul even as we begin to think about what's out there beyond the horizon. With every day bringing new challenges and discoveries in equal measure, there's never been a more rewarding time to join our daredevil crew!

Location: Rare - Microsoft Studios – Twycross, Warwickshire

Responsibilities

Could you be our next Game Tech or Game Software Engineering Intern? We’re looking for individuals who enjoys the challenge of learning and aren’t afraid to get involved in areas they know little about firsthand. As an intern in one of our engineering teams, you can expect to have a comparatively diverse experience working on a huge range of areas in the studio.

We do ask that you have a solid understanding of Computer Science theory and have a problem-solving aptitude. You’ll be supported by a world class team of developers who are keen to share their knowledge and experience.

In the last year, our Engineering Interns team at Rare have done things such as:

  • Threaded core engine systems and optimised code to improve frame time
  • Created game systems on secondment to game team
  • Helped implement keyboard and mouse support for Xbox
  • Redesigned our occlusion system
  • Made new Player Items
  • Added new AI Abilities
  • Created new environmental threats
  • Supported technical design to ship story quests

OUR ENGINEERING TEAMS

Rare’s Game Team

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. 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. We embrace modern development practices such as Continuous Delivery, automated testing, code reviews/pair programming and agile methods (e.g. Kanban).

Languages include everything from low-level C++ through to domain-specific languages (e.g. Unreal Blueprint, ActionScript) or C#/.Net.

Rare’s Tech Team

Rare's Tech team is responsible for the development of its engine and tools, as well as making direct contributions to its games. The Tech team covers areas of deeper expertise than the game teams, but there is still considerable overlap in the types of work each team does and the skillsets they possess. Members of the Tech team work in close collaboration with game teams to understand project needs, to develop reusable software to address those needs, and to integrate what they develop into the game as necessary.

In providing this technology foundation, the Tech team covers a diverse range of disciplines including Engine and runtime systems, Rendering and graphics, Services and network synchronisation and Build, deployment and tooling.

Languages including everything from low-level C++ and GPU programming through to domain-specific languages (e.g. Unreal Blueprint), C#/.Net, Python etc.

KEY RESPONSIBILITIES – Game team

  • 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.

KEY RESPONSIBILITIES – tech team

  • Research and develop software systems to support the development of our products in conjunction with other Engineers.
  • 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.

Qualifications

Either:

  • A solid grounding in Computer Science theory and genuine enthusiasm for the subject.
  • Demonstrable experience of its practical application.

Or:

  • A strong background in mathematics, physics or a subject with similarly mathematical underpinnings...
  • ...and some experience of programming (not just scripting).

Please note: it is not essential to have experience in computer games development or to be on a games-specific course.

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 to work for our tech team at Rare

Desirable Skills

If you have strong skills or experience in any of these areas make sure to include it in your application:

  • 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.
  • Experience of building games in a commercial or open source game engine (e.g. Unity, Unreal,Godot).
  • Rendering or computer graphics experience (e.g. DirectX/OpenGL/Vulkan).
  • Web service development, especially deployed in a cloud environment.
  • Contribution to the open source community.

Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances.

Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.