Skip to main content

Engine Programmer (Far Cry)

Auto-translated from French · original: Programmeur.se Moteur (Far Cry)

5 day week30 days PTOOnsite · Montreal, QC, Canada

Company Description

Ubisoft is a global leader in video games, with teams spread across the world creating original and memorable gaming experiences, from Assassin's Creed to Rainbow Six, including Just Dance and many more. We believe that diversity of perspectives drives progress for both players and teams. If you are passionate about innovation and want to push the boundaries of entertainment, join our adventure and help us create the unknown!

Job Description

As an engine programmer at Ubisoft Montreal, you will contribute to the development and evolution of the core systems of the game engine. You will collaborate with various teams to design high-performing, scalable technical solutions adapted to production needs.

What you will do

  • Program clear, structured and maintainable systems meeting requirements for performance, modularity, compatibility and scalability;
  • Develop, refactor and optimize the core systems of the game engine with a long-term vision;
  • Analyze development needs and assess the technical feasibility of proposed solutions;
  • Review existing engine features to ensure they align with project objectives;
  • Design and improve engine modules to support system scalability;
  • Recommend and implement new technical solutions when necessary;
  • Propose improvements inspired by video game industry best practices;
  • Optimize performance and ensure system stability;
  • Improve the game's build technologies to facilitate simultaneous team work;
  • Support production needs related to physical systems and the data pipeline.

Qualifications

What you bring to the team

  • A degree in computer science or software engineering (or other relevant training);
  • 5 or more years of professional programming experience;
  • Mastery of software programming principles and game engine architecture;
  • Demonstrate a good understanding of technical systems and their interactions;
  • Solve complex problems in a structured and efficient manner;
  • Apply analytical and synthesis skills to problem solving;
  • Demonstrate rigor in code structure and quality;
  • Collaborate effectively with multidisciplinary teams;
  • Work autonomously while staying aligned with team objectives;
  • Pay attention to detail and the quality of deliverables.