Compétences recherchées — Connectez-vous et téléversez votre CV pour comparer avec votre profil
Intelligence artificielle C# Cloud computing +3 autres

Détails du poste

  • Lieu de travail : Montréal
  • Type de poste : Permanent à temps plein

Description de l’entreprise

NBCUniversal est l’un des leaders mondiaux du secteur des médias et du divertissement. Nous créons des contenus d’exception, que nous diffusons à travers notre portefeuille de films, de programmes télévisés et de services de streaming, et que nous donnons vie grâce à nos parcs à thème internationaux, nos produits grand public et nos expériences. Nous détenons et exploitons des marques de premier plan dans les domaines du divertissement et de l’information, notamment NBC, NBC News, NBC Sports, Telemundo, les chaînes locales NBC, Bravo et Peacock, notre service de streaming premium financé par la publicité. Nous produisons et distribuons des films et des programmes de divertissement de premier ordre grâce à nos puissants studios de cinéma et de télévision, notamment Universal Pictures, DreamWorks Animation et Focus Features, ainsi qu’aux quatre studios de télévision mondiaux regroupés sous la bannière Universal Studio Group. Nous exploitons également des parcs à thème et des expériences de premier plan à travers le monde via Universal Destinations & Experiences, notamment l’Universal Orlando Resort, qui abrite l’Universal Epic Universe, et Universal Studios Hollywood. NBCUniversal est une filiale de Comcast Corporation. Rendez-vous sur www.nbcuniversal.com pour plus d’informations.

Notre impact repose sur l’amélioration des communautés dans lesquelles vivent et travaillent nos employés, nos clients et nos publics. Nous avons une riche tradition d’engagement social et veillons à ce que nos employés aient la possibilité de s’investir au sein de leurs communautés. Nous défendons une culture inclusive et nous nous efforçons d’attirer et de former une main-d’œuvre talentueuse afin de créer et de proposer un large éventail de contenus reflétant notre monde.

Description du poste

À titre de programmeur(-euse) principal(e), vous êtes responsable de la conception, de l’implantation et de la maintenance des systèmes fondamentaux dans Unreal Engine qui soutiennent le gameplay, les visuels, les comportements de l’IA et l’expérience utilisateur. Vous travaillez sur des systèmes critiques pour la performance et collaborez étroitement avec des équipes multidisciplinaires afin d’assurer que les fonctionnalités soient évolutives, maintenables et prêtes pour la production. Vous assumez la responsabilité de systèmes complexes dans votre domaine de spécialisation tout en contribuant à l’orientation technique globale du projet.

Responsabilités principales (toutes les spécialisations)

Concevoir, implanter et maintenir des systèmes et fonctionnalités dans Unreal Engine.

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

Collaborer étroitement avec les concepteurs, artistes et autres programmeurs afin d’intégrer les fonctionnalités à travers les différents systèmes.

Optimiser les systèmes pour la performance, l’utilisation de la mémoire et l’évolutivité sur les plateformes prises en charge.

Maintenir et améliorer le code existant afin d’assurer la stabilité pendant les phases d’itération rapide et les jalons de production.

Déboguer des problèmes complexes touchant plusieurs systèmes afin d’assurer un comportement robuste et fiable.

Participer aux activités de profilage, d’analyse de performance et d’optimisation.

É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’amélioration.

Contribuer aux discussions techniques et fournir des recommandations concernant l’architecture, les processus de travail et l’orientation à long terme.

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 de l’industrie en développement temps réel.

Spécialisation – Moteur (Engine)

Concevoir, implanter et maintenir des systèmes fondamentaux du moteur tels que la gestion de la mémoire, le multithreading, le streaming et l’abstraction des plateformes.

Développer des systèmes de bas niveau soutenant le gameplay, le rendu, les outils et les pipelines.

Optimiser les systèmes du moteur pour la performance CPU, l’utilisation de la mémoire et l’évolutivité.

Déboguer des problèmes complexes liés au moteur, notamment en matière de multithreading, de goulots d’étranglement de performance et d’interactions entre systèmes.

Soutenir les modifications du code source d’Unreal Engine, les mises à niveau du moteur et les intégrations de plateformes.

Spécialisation – Rendu (Rendering)

Concevoir, implanter et maintenir des systèmes et fonctionnalités de rendu dans Unreal Engine.

Travailler sur les shaders, les matériaux, l’éclairage, le post-traitement et les pipelines de rendu.

Collaborer avec les équipes Artistique et Art Technique afin d’offrir des visuels de haute qualité tout en respectant les objectifs de performance.

Optimiser le rendu pour la performance GPU, l’utilisation de la mémoire et l’évolutivité.

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

Utiliser les cadres de travail de rendu d’Unreal et les outils de profilage afin d’améliorer les performances visuelles.

Spécialisation – Intelligence artificielle (IA)

Concevoir et implanter des systèmes d’IA à l’aide d’arbres de comportement (Behavior Trees), de machines à états et de cadres décisionnels.

Développer des systèmes de navigation, de perception et de comportements d’IA orientés gameplay.

Collaborer avec les concepteurs afin de créer des systèmes d’IA flexibles et pilotés par les données.

Optimiser les systèmes d’IA pour la performance en exécution, l’évolutivité et la stabilité.

Déboguer des interactions complexes entre l’IA, le gameplay, l’animation et les systèmes de simulation.

Contribuer à l’architecture de l’IA et aux comportements systémiques du gameplay.

Spécialisation – Interface utilisateur (UI)

Concevoir, implanter et maintenir des systèmes et cadres de travail d’interface utilisateur dans Unreal Engine.

Développer des interfaces utilisateur telles que des HUD, menus, superpositions et outils en jeu à l’aide de UMG / Slate.

Intégrer l’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 gestion d’état et de liaison de données.

Optimiser la performance, l’utilisation de la mémoire et la réactivité des interfaces sur les différentes plateformes.

Déboguer les problèmes d’interface liés au flux de données, à la gestion des entrées, à l’animation et à la disposition visuelle.

Collaborer étroitement avec les concepteurs UI/UX afin d’assurer une excellente convivialité et une finition soignée.

Qualifications

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 au moins un titre lancé sur le marché ou une expérience de production équivalente.

Expérience professionnelle concrète avec Unreal Engine (incluant les fonctionnalités pertinentes à votre spécialisation).

Solide compréhension du développement de systèmes temps réel, notamment en matière de performance, d’utilisation de la mémoire et d’évolutivité.

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

Capacité à collaborer efficacement au sein d’équipes multidisciplinaires (conception, artistique, production et ingénierie).

Excellentes compétences en communication et approche proactive en matière de responsabilité technique.

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

Atouts recherchés

Expérience sur des productions AAA ou des projets de jeux à grande échelle.

Expérience en optimisation de systèmes pour la performance et l’utilisation de la mémoire sur différentes plateformes.

Familiarité avec le code source d’Unreal Engine et la personnalisation du moteur.

Expérience en mentorat ou en soutien technique auprès d’autres programmeurs.

Solide compréhension des systèmes de gameplay et de l’expérience joueur.

Passion pour la création de systèmes évolutifs et de grande qualité dans des environnements temps réel.

Informations supplémentaires

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 AccessibilitySupport@nbcuni.com.