Programmeur(-euse) senior d’interface utilisateur / Senior UI Programmer

People Can Fly
Full-timeMontreal, Canada

📍 Job Overview

Job Title: Programmeur(-euse) senior d’interface utilisateur / Senior UI Programmer

Company: People Can Fly

Location: Montréal, Québec, Canada

Job Type: Full-time

Category: Software Engineering / Game Development - UI Programming

Date Posted: 2025-11-06T14:58:26.178

Experience Level: Senior (6+ years)

Remote Status: Hybrid (Remote possible for specific locations)

🚀 Role Summary

  • Design and develop scalable User Interface (UI) solutions for AAA games, focusing on creating intuitive and engaging player experiences.

  • Implement complex UI logic and features using scripting languages like LUA, collaborating closely with UI/UX designers to translate concepts into functional, high-quality interfaces.

  • Ensure performance, optimization, and maintainability of UI code, adhering to AAA quality standards throughout the development lifecycle.

  • Contribute to a collaborative environment by participating in code reviews, sharing knowledge, and proactively identifying and mitigating technical risks.

📝 Enhancement Note: This role is specifically for a Senior UI Programmer within the AAA game development industry. The focus is on implementing UI systems and features, with a strong emphasis on C++ proficiency and experience with game engines, particularly Unreal Engine (implied by company description). While the core is programming, a "keen sense of what is essential for delivering a fun and intuitive gaming experience" highlights the blend of technical skill with player empathy. The mention of LUA scripting is a key technical requirement for bridging designer needs with engine capabilities.

📈 Primary Responsibilities

  • Propose, plan, implement, and deliver UI tasks and features within established timelines, providing regular updates to the production team.

  • Develop and optimize UI solutions, ensuring high performance and efficiency in code, with a strong understanding of debugging and profiling techniques.

  • Collaborate closely with UI/UX Designers, Technical UI Designers, and UI Artists to understand requirements and deliver robust UI systems that enable their creative vision.

  • Write reliable, readable, maintainable, and efficient C++ code, while also leveraging LUA for implementing core UI logic and enabling designer self-tweaking of minor elements.

  • Take full ownership of UI systems and features from concept through to final delivery, ensuring they meet AAA quality standards.

  • Proactively participate in code reviews to share expertise, learn from peers, and maintain code quality across the team.

  • Work with Quality Assurance (QA) teams to define testing requirements for new and existing UI features, ensuring bug-free implementation.

  • Contribute to the technical architecture of UI systems by collaborating with Principal Programmers and Project Architects to identify and mitigate risks.

📝 Enhancement Note: The responsibilities clearly delineate between core programming duties and specific UI implementation tasks. The emphasis on "owning" features and systems, along with collaborating with design and art teams, indicates a senior role that requires not just coding prowess but also strong communication and problem-solving skills within a game development context. The mention of "cutting-edge features" suggests opportunities to innovate within the UI space.

🎓 Skills & Qualifications

Education: While not explicitly stated, a Bachelor's degree in Computer Science, Game Development, or a related field is typically expected for a Senior Programmer role.

Experience: 6+ years of experience in console/PC game development, with involvement in the full production cycle of at least one title.

Required Skills:

  • Excellent proficiency in C++ programming.

  • Strong understanding of source control and code review tools (e.g., Swarm, Perforce, Git).

  • Solid knowledge of project management software (e.g., JIRA, Confluence).

  • Ability to work autonomously and manage one's own tasks effectively.

  • A keen understanding of game design principles that contribute to intuitive and enjoyable player experiences.

  • Robust debugging and performance profiling skills.

Preferred Skills:

  • Knowledge or experience with LUA scripting.

  • Experience with other programming languages.

  • Good understanding of UI/UX design principles.

  • Familiarity with accessibility guidelines for UX Design.

  • Experience working on current-generation consoles (PS5 and/or Xbox Series X).

  • Experience with Unreal Engine.

📝 Enhancement Note: The "Must have" qualifications are clearly defined, with C++ and 6+ years of game development experience being paramount. The "Nice to have" qualifications highlight areas where candidates can stand out, particularly LUA scripting, UI/UX understanding, and console development experience, all highly relevant to a Senior UI Programmer role in AAA gaming.

📊 Process & Systems Portfolio Requirements

Portfolio Essentials:

  • Demonstrate significant contributions to the UI systems of at least one shipped AAA console or PC game.

  • Provide clear examples of complex UI logic implemented in C++ and/or LUA, showcasing problem-solving approaches.

  • Showcase code samples that highlight optimization techniques, maintainability, and adherence to coding standards.

Process Documentation:

  • Candidates should be prepared to discuss their personal workflow for task breakdown, progress tracking, and issue reporting.

  • Be ready to articulate how you approach code reviews, both giving and receiving feedback.

  • Explain your process for collaborating with designers and artists to translate requirements into functional UI elements.

  • Detail your methodology for performance optimization and debugging UI systems.

📝 Enhancement Note: For a senior programming role, especially in game development, a portfolio is crucial. It should not only showcase completed projects but also the candidate's thought process, technical depth, and ability to work within a team and adhere to project methodologies. The emphasis is on tangible results and demonstrable skills in UI development and optimization.

💵 Compensation & Benefits

Salary Range: Based on industry benchmarks for Senior UI Programmers in Montreal, Canada, with 6+ years of experience, the estimated salary range is CAD $100,000 - $140,000 annually. This range can vary based on specific experience, negotiation, and the exact scope of responsibilities.

Benefits:

  • Comprehensive benefits package 100% paid by PCF.

  • Insurance plan reimbursing 100% of claims (up to $1000 per service annually, with individual/family coverage).

  • Full Dental coverage, including major dental and orthodontics.

  • 4% RRSP matching before tax deductions, 100% vested on day 1.

  • Paid week off during Winter Holidays.

  • 20 paid vacation days and 5 paid sick days.

  • Free virtual health and mental wellbeing sessions for members and dependents.

  • Personal development opportunities and the chance to work in a global environment.

Working Hours: Standard full-time hours, likely 40 hours per week, with potential for overtime during crunch periods common in game development.

📝 Enhancement Note: The salary estimate is based on typical compensation for senior software engineers in the game industry in a major Canadian tech hub like Montreal. The provided benefits are excellent and competitive, aligning with industry standards for established studios. The AI-identified work arrangement of "Remote OK" and specific remote locations (Poland, UK, Ireland, US, Canada) suggests that while the primary location is Montreal, there's flexibility for candidates in other PCF office locations or potentially remote work, which is a significant perk.

🎯 Team & Company Context

🏢 Company Culture

Industry: AAA Video Game Development. People Can Fly is a well-established independent studio with a strong track record in the shooter genre, known for leveraging Unreal Engine.

Company Size: Hundreds of talented individuals across multiple international offices (Poland, UK, Ireland, US, Canada) and remote workers globally. This indicates a large, established studio with structured teams.

Founded: 2002. With over 20 years of experience, PCF has a deep history and significant expertise in game development.

Team Structure:

  • The UI programming team is part of a larger engineering department, working closely with dedicated UI/UX Designers, Technical UI Designers, UI Artists, Production, and QA teams.

  • Reporting lines likely involve a Lead Programmer or Technical Director, with collaboration extending to Principal Programmers and Project Architects for architectural decisions.

Methodology:

  • Utilizes industry-standard project management tools like JIRA and Confluence for task tracking, planning, and documentation.

  • Employs robust source control systems (Perforce, Git) and code review processes (Swarm) to ensure code quality and collaborative development.

  • Focuses on iterative development, with regular updates to production and active participation in code reviews.

  • Strong emphasis on performance and optimization, critical for AAA game development.

Company Website: https://www.peoplecanfly.com/

📝 Enhancement Note: People Can Fly's description highlights a passionate, creative, and globally distributed team focused on pushing the boundaries of action games. The company's history and current projects (Gears of War: E-Day, Project Echo, Lost Rift) indicate a commitment to producing high-quality, ambitious titles. The emphasis on Unreal Engine expertise is a key differentiator.

📈 Career & Growth Analysis

Operations Career Level: Senior UI Programmer. This level signifies a highly experienced individual contributor expected to lead complex technical tasks, mentor junior developers, and contribute to architectural decisions within their domain.

Reporting Structure: This role will report to a Lead UI Programmer or a higher-level engineering manager. Close collaboration is expected with Principal Programmers and Project Architects, offering exposure to senior technical leadership.

Operations Impact: The UI Programmer's impact is critical to the player's overall experience. By implementing intuitive, performant, and visually appealing interfaces, they directly influence player engagement, satisfaction, and the perceived quality of the game. They bridge the gap between game design vision and functional implementation.

Growth Opportunities:

  • Technical Specialization: Deepen expertise in UI programming, engine architecture, and potentially explore areas like gameplay programming or engine development.

  • Leadership Development: Progress to Lead UI Programmer, Technical Director, or Architect roles, taking on greater responsibility for team management, technical vision, and project planning.

  • Cross-Disciplinary Learning: Gain deeper insights into UI/UX design principles, technical art workflows, and game design, fostering a more holistic understanding of game development.

  • Mentorship: Guide and mentor junior programmers, sharing knowledge and best practices.

📝 Enhancement Note: The "Senior" title implies significant responsibility and autonomy. Growth opportunities are clearly geared towards advancing within the technical track (specialization, leadership) or broadening expertise across related disciplines within game development. The company's diverse project portfolio suggests opportunities to work on various game types and technologies.

🌐 Work Environment

Office Type: The company operates physical offices in multiple locations (Poland, UK, Ireland, US, Canada) and also supports remote work. The Montreal office is located at 405 Avenue Ogilvy, Montréal, QC H3N 1M3, Canada.

Office Location(s): Key office locations include Poland, UK, Ireland, USA, and Canada (Montreal).

Workspace Context:

  • The environment is described as creative, with passionate individuals dedicated to game development.

  • Expect access to industry-standard development tools and technology, including Unreal Engine, Visual Studio, and advanced source control systems.

  • Opportunities for collaboration will exist both within the immediate UI team and across broader engineering, design, and art departments.

Work Schedule: Standard full-time employment. While the job description doesn't explicitly detail flexibility, the mention of remote work options for certain locations suggests a degree of adaptability. Game development often involves periods of intense work ("crunch time"), but the overall culture aims for a balance that includes paid time off and wellbeing initiatives.

📝 Enhancement Note: The Montreal office location is specific. The combination of office-based work and remote possibilities (especially for candidates in other PCF locations) indicates a modern, flexible work environment, though local candidates will likely be expected to work from the Montreal office primarily or in a hybrid capacity.

📄 Application & Portfolio Review Process

Interview Process:

  • Initial Screening: A review of your resume and portfolio to assess qualifications and experience against the job requirements.

  • Technical Interview(s): Expect in-depth discussions on C++, game development principles, UI implementation challenges, and problem-solving scenarios. You may be asked to whiteboard solutions or discuss specific technical approaches.

  • Portfolio Review: A dedicated session where you will present your work, discuss your contributions to specific projects, and explain your technical decisions and optimization strategies.

  • Team/Cultural Fit Interview: Meet with potential team members and leadership to assess collaboration style, communication skills, and alignment with People Can Fly's values.

  • Final Interview: Potentially with a higher-level manager or director to finalize the decision.

Portfolio Review Tips:

  • Curate Selectively: Focus on your most relevant and impactful contributions, particularly those involving complex UI systems, C++ implementation, and performance optimization.

  • Showcase Code Quality: Be prepared to walk through code snippets that demonstrate clean, efficient, and maintainable C++ or LUA. Highlight your optimization techniques.

  • Explain Your Role: Clearly articulate your specific responsibilities and contributions within each project. Quantify achievements where possible (e.g., "improved load times by X%," "reduced memory usage by Y").

  • Tell a Story: For each project, explain the problem, your proposed solution, the technical challenges encountered, and the final outcome.

  • Address UI/UX Sensibility: Be ready to discuss how your technical implementations supported the intended player experience and design goals.

Challenge Preparation:

  • Be prepared for potential live coding challenges or take-home assignments that test your C++ proficiency, problem-solving skills, and ability to implement UI logic.

  • Practice articulating complex technical concepts clearly and concisely, as you'll need to explain your thought process during interviews and code reviews.

  • Review common UI patterns and game development challenges related to performance, memory management, and cross-platform compatibility.

📝 Enhancement Note: The emphasis on a portfolio and technical interviews is standard for senior engineering roles in game development. Candidates should be ready to demonstrate not just knowledge but practical application and problem-solving skills relevant to AAA UI development.

🛠 Tools & Technology Stack

Primary Tools:

  • C++: The core programming language for engine and complex UI logic.

  • LUA: Used for scripting major UI logic and enabling designer adjustments.

  • Visual Studio: The primary IDE for C++ development.

  • Unreal Engine: Implied as the primary game engine, given the company's expertise.

  • Source Control: Perforce, Git (with Swarm for code review).

Analytics & Reporting: While not explicitly mentioned for UI programming, understanding how UI performance metrics are tracked and reported is beneficial. Tools like engine profilers will be crucial.

CRM & Automation: JIRA and Confluence are used for project management and issue tracking, which are essential for workflow and collaboration.

📝 Enhancement Note: Proficiency in C++ and familiarity with game engines (especially Unreal Engine) are paramount. The specific tools listed are industry standards for game development, and experience with them will be a significant advantage.

👥 Team Culture & Values

Operations Values:

  • Passion for Games: A deep-seated enthusiasm for creating high-quality, engaging gaming experiences is fundamental.

  • Excellence & Quality: A commitment to delivering AAA-level work, focusing on performance, polish, and player experience.

  • Collaboration & Teamwork: Working effectively with diverse teams (programming, design, art, QA) to achieve common goals.

  • Innovation & Pushing Boundaries: A drive to explore new technologies and techniques to create next-generation action games.

  • Continuous Learning: Staying updated with industry best practices, new tools, and technical solutions.

  • Ownership & Responsibility: Taking initiative and accountability for assigned tasks and features.

Collaboration Style:

  • Highly collaborative, involving frequent interaction with UI/UX designers, technical artists, and other programmers.

  • Emphasis on open communication, proactive problem-solving, and constructive feedback through code reviews.

  • Cross-functional teamwork is essential to integrate UI effectively into the broader game systems.

📝 Enhancement Note: People Can Fly's description emphasizes creativity, expertise, and a shared passion for game development. The culture likely fosters a high-performance environment where talent is valued, and continuous improvement is encouraged.

⚡ Challenges & Growth Opportunities

Challenges:

  • Balancing Performance and Features: Implementing complex UI features while maintaining high frame rates and efficient resource usage is a constant challenge in AAA game development.

  • Cross-Platform Consistency: Ensuring UI elements function and look consistent across different platforms (PC, consoles) requires careful planning and implementation.

  • Iterative Design: Adapting to evolving game design requirements and player feedback throughout development can necessitate significant code refactoring or redesign.

  • Technical Debt Management: Proactively addressing technical debt in UI systems to maintain long-term project health and enable future development.

Learning & Development Opportunities:

  • Unreal Engine Expertise: Deepen knowledge of Unreal Engine's UI systems (UMG) and C++ integration.

  • Advanced LUA Scripting: Become proficient in LUA for complex UI logic and tool development.

  • Console Development: Gain hands-on experience optimizing UI for PlayStation 5 and Xbox Series X.

  • Mentorship Programs: Benefit from guidance from senior engineers and potentially mentor junior developers.

  • Industry Conferences: Opportunities to attend events like GDC (Game Developers Conference) to stay abreast of industry trends and network.

📝 Enhancement Note: The challenges presented are inherent to senior roles in AAA game development, offering significant opportunities for skill development and problem-solving. The growth opportunities are aligned with advancing technical expertise and leadership within the gaming industry.

💡 Interview Preparation

Strategy Questions:

  • "Describe a complex UI system you designed and implemented. What were the key challenges, and how did you overcome them, particularly regarding performance and maintainability?" (Focus on C++, optimization, and problem-solving).

  • "How would you approach implementing a dynamic player inventory system in LUA that needs to be easily configurable by designers?" (Test LUA skills, design collaboration, and system design).

  • "Walk me through your process for debugging a UI bug that only occurs intermittently on a specific platform." (Assess debugging methodology and platform awareness).

Company & Culture Questions:

  • "What aspects of People Can Fly's recent projects or company vision particularly excite you?" (Show research and genuine interest).

  • "How do you handle disagreements with a UI/UX designer regarding the technical feasibility of a proposed feature?" (Assess collaboration and communication skills).

Portfolio Presentation Strategy:

  • Structure: Start with a brief overview of the project, your role, and key technologies. Then, dive into specific UI features you worked on, detailing the technical implementation, challenges, and solutions.

  • Demonstrate Code: Be ready to share well-commented code snippets that showcase your C++ or LUA skills, optimization techniques, and coding standards.

  • Quantify Impact: Wherever possible, provide metrics on performance improvements, feature adoption, or positive player feedback related to your work.

  • Focus on AAA Quality: Highlight how your work met the demands of AAA game development in terms of polish, performance, and scalability.

📝 Enhancement Note: Interview preparation should focus on demonstrating deep technical expertise in C++ and UI development within a game context, coupled with strong problem-solving, collaboration, and communication skills. Being able to articulate your thought process and contributions clearly is key.

📌 Application Steps

To apply for this Senior UI Programmer position:

  • Submit your application through the provided SmartRecruiters link.

  • Tailor your Resume: Highlight your C++ experience, years in game development, specific UI implementation projects, and any experience with LUA, Unreal Engine, and console development. Use keywords from the job description.

  • Prepare Your Portfolio: Ensure your portfolio clearly showcases your most relevant UI programming work, with detailed descriptions of your role, technical challenges, solutions, and outcomes. Include code samples if possible.

  • Research People Can Fly: Familiarize yourself with their games, recent announcements (Gears of War: E-Day, Project Echo, Lost Rift), and company values to articulate your interest and cultural fit.

  • Practice Technical Explanations: Be ready to discuss C++ concepts, game engine UI systems, performance optimization, and your approach to collaborating with design and art teams.

⚠️ Important Notice: This enhanced job description includes AI-generated insights and operations industry-standard assumptions. All details should be verified directly with the hiring organization before making application decisions.

Application Requirements

Candidates must have excellent C++ skills and at least 6 years of experience in game development. Familiarity with LUA and UI/UX design principles is a plus.