Job position

Online Programmer C++ H/F/NB

Programming, Permanent

Description du poste

Au sein de l’équipe Online de l’une de nos marques les plus emblématiques, vous concevrez et mettrez en œuvre des fonctionnalités permettant de relier les joueurs aux services first party et aux serveurs d’Ubisoft.

Vous serez responsable de la conception, de la mise en œuvre, du déploiement, de la maintenance et de l’optimisation des services en ligne du jeu et des outils connexes, côté serveur et côté client. Vous travaillerez en étroite collaboration avec les Game Designers et les Gameplay Programmers de différents studios dans le monde. En tant qu’ Online Programmer (H/F/NB), vos principales missions seront les suivantes :

  • Comprendre les intentions Online du projet, collaborer et faire du brainstorming avec les Game Designers et leur présenter les possibilités techniques de nouvelles fonctionnalités innovantes connectées en ligne,
  • Prendre en charge les fonctionnalités du jeu, de la conception à la mise en œuvre et au soutien en direct après le lancement,
  • Programmation côté serveur

– Développer/maintenir les services :

– Concevoir, prototyper et mettre en œuvre des services Online tolérants aux pannes en privilégiant l’évolutivité, la disponibilité et la sécurité,

– Mise en œuvre d’outils pour configurer, déployer, déboguer et surveiller les services et les serveurs dédiés,

– Effectuer des tests de charge, analyser les résultats, proposer des améliorations et optimiser si nécessaire, 

– Collaborer avec les équipes devops pour concevoir et optimiser l’infrastructure côté serveur, et pour étudier les problèmes d’infrastructure.

  • Programmation côté client

– Maintenir et améliorer le moteur Online multiplateforme du jeu en C++ :

– Utiliser des primitives pour implémenter les fonctionnalités des consoles individuelles et fournir une API agnostique à la plateforme qui sera utilisée par des abstractions de moteur de plus haut niveau, 

– Concevoir et écrire du code asynchrone et multithread, en se concentrant sur la haute performance et la faible empreinte mémoire, 

– Évaluer les bibliothèques externes et internes d’Ubisoft afin de trouver la meilleure solution pour notre moteur en fonction des besoins actuels et futurs du projet, 

– Éduquer, encadrer et former les programmeurs de jeu à l’utilisation optimale des fonctionnalités asynchrones Online.

  • Maintenir la qualité du code et appliquer les meilleures pratiques – en gardant à l’esprit les exigences de performance, de maintenabilité et d’évolutivité,
  • Conseiller et encadrer les autres membres de l’équipe,
  • Assurer la communication et le partage des connaissances avec les autres équipes de jeu dans le monde (tant techniques que non techniques).

Qualifications

  • Vous possédez de bonnes connaissances en C++ : design patterns, multithreading, profilage et débogage,
  • Vous avez une expérience sur des protocoles de réseau (IP/UDP/TCP/HTTP),
  • Vous avez également déjà une expérience dans le développement d’API REST,
  • Vous connaissez un outil de source control (Git, Perforce …),
  • Vous êtes à l’aise dans les échanges anglais, à l’oral comme à l’écrit,
  • Vous êtes une personne rigoureuse, autonome, curieuse et doté d’un esprit d’analyse et de résolution de problèmes,
  • Vous avez un réel intérêt et une motivation pour découvrir ce domaine spécifique des jeux vidéo.

Bonus skills :

  • Connaissance de la programmation backend en C# .Net ou en GoLang ou en Python,
  • Connaissance de la programmation de bases de données avec des bases de données SQL et/ou NoSQL (Redis, MongoDB, etc.),
  • Expérience en CI/CD (Gitlab), automatisation et technologies orientées DevOps (Docker, Kubernetes),
  • Expérience en matière de développement web,
  • Expérience de travail avec les fournisseurs de cloud, notamment Amazon Web Services, Google Cloud,
  • Expérience avec Linux et les scripts shell Linux.

Offres similaires

Découvrez-les maintenant