Ubisoft’s 19 000 team members, working across more than 40 locations around the world, are bound by a common mission to enrich players’ lives with original and memorable gaming experiences. Their dedication and talent has brought to life many acclaimed franchises such as Assassin’s Creed, Just Dance, Far Cry, Watch Dogs, Mario+Rabbids, Rainbow Six, and many more to come. 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 join our journey and help us Create the unknown.
Job Description
We’re looking for an Engine Programmer who will be responsible of developing and improving our in-house engine. The candidate will oversee the support and optimization of the engine and will integrate the external "middleware" modules used by the production.
Main responsabilities:
Create, improve, maintain and optimize the engine’s system;
Design Systems which are simple, clear, reliable, easy to extend and maintain;
Work on software and middleware updates (stability KPIs, performance);
Analyze existing functionality of the engine, then identify possible improvements to meet the project requirements;
Choose the most efficient algorithms and data structures for the task at hand (keeping constraints and performance in mind);
Propose improvements to the needs, by designing and implementing new systems;
Identify missing details in feature requests and break down tasks into modules that can be implemented and tested;
Collaborate with multiple disciplines to develop efficient and productive art and content pipelines;
Write and maintain proper documentation for the programming team as well as other job families;
integrate and support platform specific guidelines;
Determine and fix the bugs identified by other production and quality control teams, doing basic maintenance.
Qualifications
Experience in gaming industry, with 3+ years as Engine Programmer;
Strong knowledge of modern C++;
Strong knowledge of software engineering/architecture and design patterns;
Excellent math skills (linear algebra, trigonometry, matrix/quaternion math);
Experience with large engines, complex pipelines, profiling & optimization;
Strong interpersonal and communication skills, both written and spoken in English;
Autonomous, self-motivated and proactive;
Problem-solving and open mind;
Positive attitude and a genuine team player.
Nice to have:
Development experience on game consoles;
Experience in commercial Engines (such as Unreal/Unity);
Experience developing physics systems for games;
Knowledge of Python and scripting languages.
Additional Information
Ubisoft is committed to creating an inclusive work environment that reflects the diversity of our player community. We value and celebrate the diversity of cultures, perspectives, skills, and experiences within our workforce. We strongly encourage people of different backgrounds, women, LGBTQ+ individuals, people with disabilities, members of ethnic minorities and other legally protected individuals to apply.
In order to consider your application, please send us your resume.
The position is based in Milan (Italy).
All your information will be kept confidential according to EEO guidelines.