Programmeur-se Outil

Ubisoft

Montreal

Détails du poste

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

Description du poste

Le titulaire de ce poste est le point de référence pour l’observabilité moteur pour un jeu multijoueur AAA/GAAS. Il possède des compétences en programmation d’outils et web, et une bonne connaissance des besoins d’observabilité pour un jeu live.

C’est un spécialiste technique responsable d’analyser les problématiques liées à son domaine d’expertise et imputable des choix technologiques ainsi que des performances de l’ensemble des systèmes de sa spécialité. Il/Elle écrit du code performant, définit les meilleures pratiques, assure la maintenance et la pérennité des systèmes implémentés.

Spécialité visée : Moteur/Outils/Web. Dans le cadre d’un jeu multijoueur (AAA/GAAS), il/elle implémente des systèmes d’observabilité du moteur de jeu, garantit leur résilience, scalabilité et opérabilité, met en place des pratiques CI/CD pour aider l’équipe de développement à garantir une expérience fluide et fiable aux joueurs.

Responsabilités générales de la spécialité

  • Gérer les mandats techniques donnés par le Directeur Informatique, le Chef de projet informatique (CPI), le Chef d’équipe (TL) ou l’Architecte technique.
  • Programmer en tant que senior, prendre en charge et mener à terme les dossiers de sa spécialité de façon optimisée.
  • Proposer des évolutions et effectuer des choix technologiques cohérents avec la vision du projet.
  • Résoudre les problèmes techniques complexes liés à sa spécialité.
  • Partager et propager les connaissances techniques et les bonnes pratiques au sein de l’équipe.
  • Faire preuve d’initiative et proposer des solutions pérennes pour rencontrer les objectifs.
  • Collaborer avec les Directeurs Techniques des autres métiers (design, graphique, animation, son, etc.) pour assurer l’efficacité des systèmes utilisés par les autres disciplines.
  • Effectuer toutes autres tâches connexes.

Responsabilités spécifiques – systèmes et outils d’observabilité moteur

  • Recueillir les besoins d’observabilité (équipes de programmation, artistiques, design, gameplay).
  • Être responsable du développement et de la maintenance des systèmes d’observabilité : intégration dans le moteur, pipelines de transmission et ingestion des données, metadata et métriques, mise en place de tableaux de bord et d’alerting automatique.
  • Collaborer étroitement avec les pairs pour garantir la fiabilité, la performance et la maintenabilité de l’écosystème.
  • Contribuer à la préparation et au support des opérations live (GAAS) : readiness, charge, tests de performance/failover, réponse aux incidents.

Exemples de besoins d'observabilité: métriques de performance du client et du serveur, métriques d'utilisation mémoire système et mémoire vidéo, métriques réseau (bandwidth, latency, etc.), métriques de stabilité du jeu (playtime, nombre de crash client/serveur), métriques gameplay

Qualifications

Formation

  • Baccalauréat en informatique ou en génie informatique (ou toute formation équivalente).

Expérience pertinente

  • Minimum de 5 ans d’expérience en programmation PC et web (ou toute expérience pertinente) :
    • Expérience multidisciplinaire en programmation moteur, outils & web
    • Expérience en développement de systèmes moteur, outils en C# et C++ pour des jeux en ligne AAA/GAAS
    • Expérience démontrée en prise de décisions technologiques

Compétences techniques (exigées/souhaitées)

  • Connaissances C++/C#
  • Connaissances TypeScript/JavaScript et frameworks web (React, Vue ou équivalent)
  • Connaissances OpenSearch et/ou ElasticSearch, OpenSearch Dashboards et/ou Kibana
  • Pratiques CI/CD, infrastructure as code, tests automatisés

Atouts

  • Connaissance d’Unreal Engine 5 (ou moteur similaire)
  • Connaissances du langage de visualisation Vega et/ou Vega Lite
  • Connaissance des outils de profiling Unreal 5 (Unreal Insights, etc.)
  • Expérience des opérations live (GAAS), performance & capacité, résolution d’incidents et post‑mortems