Connexion

Compétences recherchées — Connectez-vous et téléversez votre CV pour comparer avec votre profil
Optimisation C# CI/CD +5 autres

Détails du poste

  • Lieu de travail : Montreal
  • Type de poste : Permanent à temps plein

Description du poste

Programmeur(-euse) principal(e) – Mobile

À titre de programmeur(-euse) principal(e) – Mobile, vous êtes responsable de la conception, de l’implantation et de la maintenance de systèmes dans Unreal Engine permettant d’offrir des expériences performantes, évolutives et de grande qualité sur les plateformes mobiles. Vous travaillez dans un contexte de contraintes strictes liées au processeur (CPU), au processeur graphique (GPU), à la mémoire et à la consommation énergétique, tout en favorisant des flux de travail efficaces et une grande rapidité d’itération. Vous assumez la responsabilité de systèmes complexes dans votre domaine de spécialisation et contribuez à l’orientation technique globale du développement mobile.

Responsabilités principales (toutes les spécialisations)

  • Concevoir, implanter et maintenir des systèmes et fonctionnalités dans Unreal Engine destinés aux plateformes iOS et Android.

  • Traduire les exigences de conception et les besoins techniques en code C++ propre, maintenable et évolutif.

  • Collaborer étroitement avec les concepteurs, artistes et programmeurs afin d’intégrer les systèmes au gameplay, aux outils et aux pipelines de production.

  • Optimiser les systèmes en matière de performance, d’utilisation mémoire, de temps de chargement et de consommation énergétique sur une vaste gamme d’appareils mobiles.

  • Maintenir et améliorer le code existant afin d’assurer la stabilité pendant les cycles d’itération rapide et d’exploitation en continu (live ops).

  • Déboguer des problèmes complexes touchant plusieurs systèmes, incluant les comportements spécifiques aux plateformes et la variabilité du matériel.

  • Effectuer le profilage et l’analyse des performances à l’aide des outils d’Unreal Engine et des outils de profilage des plateformes mobiles (ex. : Xcode Instruments, outils de profilage Android).

  • Écrire un code clair et bien documenté qui respecte les normes et les meilleures pratiques de l’équipe.

  • Participer aux séances de jeu et aux revues afin d’identifier les problèmes, les cas limites et les occasions d’optimisation.

  • Contribuer aux discussions techniques portant sur l’architecture mobile, l’évolutivité et les stratégies de performance.

  • Encadrer les programmeurs juniors grâce au mentorat technique, à la collaboration et aux révisions de code.

  • Maintenir ses connaissances à jour quant aux nouveautés d’Unreal Engine et aux meilleures pratiques liées au développement mobile.

Spécialisation – Moteur (Mobile)

  • Concevoir, implanter et maintenir des systèmes de niveau moteur dans Unreal Engine pour les plateformes mobiles.

  • Travailler sur des systèmes tels que la gestion de la mémoire, le multithreading, le streaming et l’abstraction des plateformes dans un contexte de contraintes propres au mobile.

  • Optimiser les systèmes du moteur pour l’utilisation du CPU, l’empreinte mémoire, le temps de démarrage et la stabilité en exécution sur les appareils mobiles.

  • Implanter et maintenir les intégrations spécifiques aux plateformes iOS et Android.

  • Déboguer des problèmes complexes de bas niveau liés au multithreading, aux goulots d’étranglement de performance et aux API des plateformes.

  • Soutenir les modifications du code source d’Unreal Engine, les mises à niveau du moteur et les améliorations spécifiques au mobile.

Spécialisation – Rendu (Mobile)

  • Concevoir, implanter et maintenir des systèmes et fonctionnalités de rendu optimisés pour les GPU mobiles.

  • Travailler sur les shaders, les matériaux, l’éclairage et les effets de post-traitement adaptés aux contraintes de performance des appareils mobiles.

  • Collaborer avec les équipes Artistique et Art Technique afin de développer des solutions visuelles évolutives adaptées à une grande variété d’appareils.

  • Optimiser les systèmes de rendu pour la performance GPU, la bande passante, l’utilisation mémoire et la consommation énergétique.

  • Déboguer les problèmes de rendu liés aux shaders, à l’éclairage, à la performance GPU et aux artefacts visuels sur les plateformes mobiles.

  • Effectuer le profilage des performances de rendu à l’aide des outils d’Unreal Engine et des profileurs GPU mobiles.

  • Contribuer au développement de solutions de rendu évolutives pour des appareils allant du bas de gamme au haut de gamme.

Spécialisation – Outils (Mobile)

  • Concevoir, implanter et maintenir des outils soutenant les flux de travail du développement mobile, tant dans Unreal Engine qu’à l’externe.

  • Développer des outils d’éditeur Unreal Engine à l’aide de C++, Slate et des cadres de travail de l’éditeur afin de soutenir la création de contenu mobile et le débogage.

  • Développer des utilitaires et des outils d’automatisation en Python, C# ou en ligne de commande pour soutenir le traitement des ressources, la validation et les flux de production mobile.

  • Créer des outils facilitant le profilage des performances mobiles, la validation du contenu et les activités de débogage.

  • Intégrer les outils aux pipelines mobiles, aux flux de données et aux systèmes de compilation.

  • Optimiser les outils pour leur convivialité, leur stabilité et leur performance en environnement de production.

  • Déboguer des problèmes complexes touchant les outils, les pipelines, les systèmes de fichiers et les flux de travail propres aux plateformes mobiles.

  • Collaborer avec les artistes, concepteurs et programmeurs afin d’améliorer la vitesse d’itération et l’efficacité du développement.

Spécialisation – Interface utilisateur (UI Mobile)

  • Concevoir, implanter et maintenir des systèmes d’interface utilisateur dans Unreal Engine pour les plateformes mobiles.

  • Développer des fonctionnalités d’interface utilisateur telles que les HUD, menus, superpositions et outils optimisés pour les interactions tactiles.

  • Utiliser UMG / Slate afin d’implanter des interfaces mobiles performantes et adaptatives.

  • Intégrer les systèmes d’interface utilisateur aux systèmes de gameplay, d’entrées, d’animation et de données.

  • Développer des systèmes de navigation, de gestion du focus, de mise à l’échelle des interfaces et de gestion des états sur différents appareils.

  • Optimiser les interfaces pour la performance, l’utilisation mémoire, l’adaptation aux différentes résolutions et la réactivité sur une vaste gamme d’appareils.

  • Déboguer les problèmes liés aux interfaces utilisateur, notamment les entrées tactiles, les flux de données, les animations et les comportements propres à certains appareils.

  • Collaborer étroitement avec les concepteurs UI/UX afin d’assurer une excellente convivialité et une expérience joueur de grande qualité.

Qualifications

Qualifications

  • Strong proficiency in C++, with experience developing systems in Unreal Engine.

  • At least 6–8 years of professional experience in game programming, with shipped titles including mobile platforms or equivalent experience.

  • Professional, hands‑on experience working with Unreal Engine systems relevant to your specialization.

  • Strong understanding of mobile platform constraints including performance, memory, bandwidth, and power usage.

  • Experience profiling and debugging performance issues on mobile devices.

  • Excellent problem‑solving and debugging skills for complex runtime systems.

  • Strong communication skills and ability to collaborate effectively across multidisciplinary teams.

  • Experience with version control systems such as Perforce or Git.

Desired Characteristics

  • Experience shipping mobile titles using Unreal Engine.

  • Experience optimizing systems across a wide range of mobile hardware configurations.

  • Familiarity with iOS and Android platform constraints, SDKs, and performance characteristics.

  • Experience working with mobile‑specific workflows such as asset streaming, memory budgeting, and live‑ops support.

  • Experience mentoring or guiding other engineers.

  • A passion for building high‑quality, scalable, and performant mobile experiences.

Exigences de base

  • Excellente maîtrise du C++ et expérience dans le développement de systèmes avec Unreal Engine.

  • Minimum de 6 à 8 années d’expérience professionnelle en programmation de jeux vidéo, incluant des titres lancés sur plateformes mobiles ou une expérience équivalente.

  • Expérience professionnelle concrète avec les systèmes d’Unreal Engine pertinents à votre spécialisation.

  • Solide compréhension des contraintes propres aux plateformes mobiles, notamment en matière de performance, de mémoire, de bande passante et de consommation énergétique.

  • Expérience en profilage et en débogage de problèmes de performance sur appareils mobiles.

  • Excellentes aptitudes en résolution de problèmes et en débogage de systèmes complexes à l’exécution.

  • Excellentes compétences en communication et capacité à collaborer efficacement au sein d’équipes multidisciplinaires.

  • Expérience avec des systèmes de contrôle de version tels que Perforce ou Git.

Atouts recherchés

  • Expérience dans le lancement de jeux mobiles développés avec Unreal Engine.

  • Expérience en optimisation de systèmes sur une grande variété de configurations matérielles mobiles.

  • Connaissance des contraintes, des SDK et des caractéristiques de performance propres aux plateformes iOS et Android.

  • Expérience avec des pratiques de développement spécifiques au mobile, notamment le streaming d’actifs, la gestion des budgets mémoire et le soutien aux opérations en continu (live ops).

  • Expérience en mentorat ou en accompagnement technique d’autres programmeurs.

  • Passion pour la création d’expériences mobiles performantes, évolutives et de grande qualité.

Additional Information

As part of our selection process, external candidates may be required to attend an in-person interview with an NBCUniversal employee at one of our locations prior to a hiring decision. NBCUniversal's policy is to provide equal employment opportunities to all applicants and employees without regard to race, color, religion, creed, gender, gender identity or expression, age, national origin or ancestry, citizenship, disability, sexual orientation, marital status, pregnancy, veteran status, membership in the uniformed services, genetic information, or any other basis protected by applicable law.

If you are a qualified individual with a disability or a disabled veteran and require support throughout the application and/or recruitment process as a result of your disability, you have the right to request a reasonable accommodation. You can submit your request to AccessibilityS.