Skip to content
Skip to content
Game Dev Jobs
Ubisoft

Generalist Programmer - Far Cry

Ubisoft

Location
Onsite (Montreal, Québec)
Employment
Full-time
Level
Senior Level
Posted Today

About the Role

Ubisoft Montreal seeks a Generalist Programmer to develop high-performance narrative tools and systems for the Far Cry franchise. The role focuses on creating dynamic NPC behaviors, dialogue sequences, and production tools to support mission and narrative teams.

Skills

C++ Game Engine Development Animation Systems Dialogue Systems Tool Development Debugging Optimization Software Architecture Workflow Improvement Computer Science Fundamentals Problem Solving Collaboration

Full job details

Company Description

Ubisoft is a global leader in gaming with teams across the world creating original and memorable gaming experiences, from Assassin’s Creed, Rainbow Six to Just Dance and more. We believe diverse perspectives help both players and teams thrive. If you’re passionate about innovation and pushing entertainment boundaries, join our journey and help create the unknown!

Job Description

As a Generalist Programmer at Ubisoft Montreal, you will develop stable, high-performance, and scalable tools and systems that support production teams, including the Mission and Narrative teams. You will contribute to the creation of dynamic non-playable character behaviors, immersive dialogue sequences, and systems that help development teams work more efficiently.

In a collaborative environment, you will work on different aspects of production such as the game engine, editing tools, and animation systems. You will also contribute to the continuous improvement of workflows and production tools to help create cohesive and believable game experiences.

What you’ll do

  • Develop narrative tools that support the creation of dynamic non-playable character behaviors.
  • Design systems that allow non-playable characters to perform ambient animations and contextual dialogue lines.
  • Develop tools that allow non-playable characters to react to stimuli and environmental events.
  • Create systems that ensure smooth transitions between different animations and behaviors.
  • Develop tools that support the creation of dialogue sequences and conversations between multiple characters.
  • Synchronize animations and dialogue flows to support fluid cinematic conversations.
  • Support production teams by ensuring the stability, maintenance, and reliability of systems and tools.
  • Debug and optimize existing systems to improve tool performance and reliability.
  • Collaborate with teams using your tools to understand their needs and improve workflows.
  • Document systems and share knowledge with production teams.

Qualifications

What you bring to the team

  • Bachelor of Computer Science or Computer Engineering or equivalent training or experience.
  • Minimum 5 years of C++ programming experience in the video game sector or embedded systems, or relevant fields.
  • Participation in the delivery of a video game including debugging, optimization, or problem solving.
  • Strong knowledge of C++ and computer science fundamentals.
  • Experience developing and supporting production tools used by multiple teams.
  • Knowledge of character animation systems and contextual dialogue systems.
  • Ability to collaborate effectively with multidisciplinary teams.
  • Structured problem-solving skills and attention to detail.
  • Curiosity and interest in continuously improving tools and systems.
  • Contract: Permanent
  • Work flexibility: Office-based