Engine Programmer
ITALY IT development
Job description
Ubisoft’s 19,000 team members, working across more than 30 countries around the world, are bound by a common mission to enrich players’ lives with original and memorable gaming experiences. Their commitment and talent have brought to life many acclaimed franchises such as Assassin’s Creed, Far Cry, Watch Dogs, Just Dance, 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.
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.
· 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 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 in rendering, shaders, raytracing
· Knowledge of Python and scripting languages.
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.
To all applicants, kindly send us also a demo reel / portfolio with a breakdown of your best work showcasing your skills.
The position is based in Milan (Italy).
All your information will be kept confidential according to EEO guidelines.