The Programmer will work within a collaborative multidiscipline environment on a wide-range of areas of the game, including the engine, editor or any middleware. The incumbent will develop generic systems that will support the work of the specialist programmers (AI, 3D, physics, sound, animation, etc.) and meet the design and technical needs of the project.
The main and routine tasks of the programmer are to:
- Produce efficient, portable and self-contained code that observes the technical constraints of the system
- Ensure coding standards are followed, and promote good programming practices within the engineering team
- Analyze existing system features, determine whether they meet project intentions and suggest improvements whenever necessary
- Diagnose and fix bugs in new and existing systems
- Support different users of the engine, game systems and related tools, both directly and with written documentation
- Bachelor’s degree in a relevant subject or equivalent industry experience
- Preferably with 1 to 3 years of commercial software development experience with significant involvement in 1 published game
- Experience of designing, developing and debugging multithreaded systems
- Excellent C++ programming skills, with excellent knowledge of object oriented development;
- Knowledge of common algorithms, data structures and patterns, and the ability to apply them to problems while keeping constraints and performance in mind
- Experience with commonly used development tools such as Visual Studio and Perforce
- Able to analyze unfamiliar code of a reasonable complexity to understand, extend the and refactor functionality of an existing module
- Ability to debug defects of a reasonable complexity, including memory related issues, multithreading, and assembly level debugging
- Strong understanding of 3D mathematics
- Excellent communication skills in spoken and written English
- Able to plan and estimate their own tasks and ensure timely delivery of work
- Self-motivated and pro-active with a strong work ethics
- Knowledge of most areas of game development (physics, AI, gameplay, rendering, online, tools, UI, audio);
- Knowledge of console platform submission requirements (TRCs, XRs, etc.)
- Knowledge of different software development methods such as Test Driven Development, Unit Testing, Agile etc.
- Experience with multi-platform console development
- Shipped at least one game title using C++
Please include a cover letter, CV and game portfolio/ work samples.
Our top priority are our people: Ubisoft offers a world-class working environment that facilitates collaboration, open communication, and fun.
We ensure our team receive the best training, regularly sending them to trips to other Ubisoft studios around the globe. We work hard, but we play hard too. With our monthly events, parties, regular video game tournaments, music and sports clubs, you can bet that we’re serious about fun!