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.
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!
Ubisoft is an equal opportunity employer that believes diverse backgrounds and perspectives are key to creating worlds where both players and teams can thrive and express themselves.
If you are excited about solving game-changing challenges, cutting edge technologies, and pushing the boundaries of entertainment, we invite you to embark on an epic journey and create the unknown.