Skip to main content
100 years and 70 days since the five-day weekRead the story

Engine Programmer

Auto-translated from French · original: Programmeur.euse Engin

4 x 8hr days80% payOnsite · Montreal, Canada

Company Description

Ubisoft is a world leader in video games, with teams spread across the globe creating original and memorable gaming experiences, from Assassin's Creed to Rainbow Six to 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

What You Will Do

  • Write clear and structured code while being mindful of performance, maintenance, modularity, extensibility, and compatibility requirements.
  • Be exemplary and rigorous in code structure.
  • Develop, refactor, and optimize core systems with a focus on long-term sustainability.
  • Gather and understand project intentions and identify development needs and analyze technical feasibility.
  • Analyze existing features in the engine and determine if they align with project intentions.
  • Develop and improve modules necessary for the engine.
  • Propose improvements as needed by designing and implementing new systems.
  • Suggest innovations by drawing inspiration from other games or engines in the industry.
  • Ensure performance and optimize systems.
  • Support features and systems designed for production.
  • Document your work to transfer knowledge and enable other disciplines to understand how to use engine systems and features.
  • Perform all other related tasks.

Qualifications

Education:

  • Degree in computer science or computer engineering or any other equivalent qualification.

Relevant Experience:

  • Minimum 5 years of experience in software programming, ideally in the video game industry or any other relevant experience.

Skills and Knowledge:

  • Possess an excellent understanding of technical details and architectures of different engines.
  • Have excellent analytical and synthesis skills.
  • Ability to solve complex problems.
  • Be independent and resourceful.
  • Have attention to detail.
  • Have a strong interest in different hardware architectures.
  • Be results-oriented.
  • Have good interpersonal and communication skills.
  • Able to work in a team.
  • Able to adapt to change.
  • Strong knowledge of C++.
  • Cross-platform knowledge and tools (an asset).
  • Interest in different systems: memory allocations, multi-threading, hardware architectures.