Skip to main content

UI Programmer

4 × 8hr days80% payOnsite · Montreal, Canada

Company Description

Ubisoft is a world leader in video game entertainment, 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

The successful candidate will be responsible for developing game modules for general presentations (menus, HUD, etc.).

What You Will Do

  • Read game design documents to understand the intended gaming experience and actively participate in design feedback discussions aimed at facilitating this experience;
  • Help define UI features and implementation while aligning with the graphic designer's needs;
  • Design and implement menu and UI systems for desired platforms, ensuring consistency of visual and logical aspects;
  • Provide tools for UI systems and debugging through internal "draw";
  • Study and thoroughly understand UI structure in order to support the presentation team;
  • In collaboration with design and other programming teams, quickly propose prototypes of interaction concepts;
  • Be responsive to feedback and produce rapid iterations;
  • In collaboration with the graphic designer, integrate designs and animation;
  • Provide hooks for graphic designer animations and sound support;
  • Understand UI requests and identify or examine technical limitations (performance and memory tracking);
  • Work closely with designers and artists to implement new ideas, providing feedback on technical, creative, and planning aspects;
  • Collaborate with the team to ensure the UI meets aesthetic and functional requirements;
  • Actively keep your knowledge and skills up to date by following the latest innovations in the industry;
  • Oversee and maintain modules or systems that underpin the UI;
  • Optimize UI code for efficient performance on desired platforms;
  • Interact and collaborate with different departments;
  • Challenge game design as well as user experience (UX);
  • Develop automated test APIs related to UI systems to ensure the ongoing health of the game;
  • Have a strong understanding of ergonomics and UX principles that apply to UI;
  • Apply your knowledge regarding accessibility and localization features;
  • Perform all other related tasks.

Qualifications

Education:

  • Bachelor's degree in Computer Science or Computer Engineering, or equivalent education or experience.

Experience:

  • Minimum 5 years of experience in C++ programming in the video game industry or embedded systems, or other relevant fields.

Knowledge:

  • Ability to write clean, robust, performant, and maintainable C++ code;
  • Excellent understanding of MVVM philosophy and workflows;
  • Strong troubleshooting and debugging skills;
  • Solid understanding of software engineering best practices (design reviews, coding standards, code reviews, testing, documentation);
  • Strong collaboration and communication skills in a multidisciplinary environment;
  • Bonus: Experience with Unreal Engine 5, Slate, and UMG;
  • Bonus: Experience with UI frameworks such as CommonUI;
  • Bonus: Experience with MVVM toolchains such as Unreal's MVVM plugin;
  • Bonus: Experience working on a PC-focused platform experience.

Skills:

  • Problem-solving;
  • Attention to detail;
  • Good communication both verbally and in writing;
  • Proactive attitude at work with a sense of autonomy and ethics;
  • Motivation to tackle significant challenges;
  • Organizational sense in defining and estimating tasks;
  • Adaptability to change;
  • Results-oriented mindset.