Skip to main content

Technical Lead - UI Programmer (Far Cry)

Auto-translated from French · original: Chef.fe Technique - Programmeur.meuse IU (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 four corners of 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

The senior UI programmer – technical lead is the main technical reference for all user interface systems on the project.

This person bridges engineering, UI integration and technical art, ensuring that every interface element is delivered with the level of polish, performance and accessibility expected of a AAA first-person shooter.

What you will do

Technical leadership

  • Serve as the reference for all UI technologies on the project: Snowdrop UI framework, game-specific UI systems and tools
  • Manage the UI technical roadmap: architecture decisions, framework upgrades and deprecations
  • Define and enforce UI coding standards, component patterns and integration workflows
  • Identify and resolve bottlenecks that slow down the work of UI integrators and technical artists

Team supervision

  • Supervise a team of UI integrators and technical artists working in the visual graph editor (UI Graph)
  • Review and validate work for accuracy, performance and adherence to design intent
  • Mentor team members, conduct code and asset reviews, and provide clear, actionable feedback
  • Collaborate with UX/UI designers to ensure the technical implementation matches design intent

Engineering

  • Implement and maintain UI features in gameplay, menus, HUD and front-end interface
  • Create and extend UI scripts in the visual graph language (UI Graph); support team members in using it
  • Design reusable and scalable UI components based on modularization principles, favouring maintainability and reuse over one-off solutions
  • Implement adaptive layouts supporting multiple target devices, screen sizes and resolutions
  • Integrate accessibility requirements (text scaling, colour-blind modes, controller navigation, screen reader support)

Performance and stability

  • Profile UI rendering and logic; identify and resolve low-performance areas (overdraw, excessive draw calls, costly graphical evaluations)
  • Support and triage UI-originated crashes; lead post-mortem analyses and see fixes through to completion
  • Establish and monitor UI performance budgets in collaboration with the engine team

Design partnership

  • Apply and defend core design principles in all technical decisions: consistency, simplicity and clear user feedback
  • Challenge implementations that compromise usability, even when they are technically correct

Qualifications

What you will bring to the team

Essential skills

  • Shipped at least two AAA titles while taking significant responsibility for UI programming
  • Strong experience with a visual, node-based UI scripting system (UI Graph or equivalent)
  • Proven ability to profile and optimise UI in a real-time engine
  • Experience debugging and resolving crashes in a live game
  • Proven experience supervising or mentoring UI integrators or junior programmers
  • Strong command of UI architecture: component hierarchies, data binding, state management

Major assets

  • Knowledge of designing responsive/adaptive UIs for multiplatform titles

Success criteria

After six months, this person has become the go-to reference for any technical question related to UI on the project; the team works without obstacles and produces high-quality work; and the UI systems are stable, performant and easy to extend.