Ubisoft is committed to enriching players’ lives with original & memorable entertainment experiences. We build worlds that are a playground for the imagination, offering moments of surprise, fun and adventure as well as opportunities for learning and self-discovery.
At Ubisoft, you’ll grow and collaborate with highly talented teams from around the world. Our massively friendly work environment will inspire you to go above and beyond to create experiences and brands people will fall in love with.
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.
Main responsibilities :
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.