Description
Ubisoft is seeking a UI Programmer to work on R6 Siege. As a UI Programmer, you will be responsible for developing game modules related to general user-facing presentations, such as menus, HUDs, and other UI systems.
Responsibilities:
- Review game design documents to understand the intended player experience and actively contribute feedback to help achieve that vision;
- Help define UI features and implementation while aligning with the needs of graphic designers;
- Design and implement menu systems and user interfaces for target platforms, ensuring consistency in both visual presentation and underlying logic;
- Develop tools to support UI systems;
- Collaborate with designers and programmers to rapidly prototype interaction concepts;
- Respond effectively to feedback and produce quick iterations;
- Provide hooks and support for UI animations and audio integration;
- Work closely with designers and artists to implement new ideas, offering technical, creative, and planning feedback;
- Collaborate with the team to ensure UI systems meet both aesthetic and functional requirements;
- Stay current with industry trends, innovations, and best practices;
- Maintain and oversee the modules and systems that support the UI;
- Optimize UI code to ensure efficient performance on target platforms;
- Interact and collaborate with multiple departments;
- Develop automated testing APIs and tools related to UI systems to help ensure overall game stability and health;
- Apply strong knowledge of usability and UX principles as they relate to UI development;
- Integrate accessibility and localization considerations into UI features and workflows;
- Perform any other related duties as required;
- Demonstrate strong analytical skills through debugging and crash fixing across a variety of UI systems.
Qualifications:
- Bachelor's degree in Computer Science, Computer Engineering, or an equivalent combination of training and experience;
- Minimum 5 years of experience programming in C++ within the video game industry, embedded systems, or other relevant fields;
- Ability to write clean, robust, performant, and maintainable C++ code;
- Excellent understanding of MVVM architecture and workflows;
- Strong troubleshooting and debugging skills;
- Solid understanding of software engineering best practices, including design reviews, coding standards, code reviews, testing, and documentation;
- Strong collaboration and communication skills in a multidisciplinary environment;