Description de l'entreprise
Ubisoft est un·e chef·fe de file mondial·e dans l’industrie du jeu vidéo, avec des équipes partout dans le monde qui créent des expériences originales et mémorables, d’Assassin’s Creed et Rainbow Six à Just Dance et bien plus encore. Nous sommes convaincu·e·s que la diversité des perspectives permet aux joueur·euse·s comme aux équipes de s’épanouir. Si vous êtes passionné·e par l’innovation et par le fait de repousser les limites du divertissement, joignez‑vous à nous et contribuez à créer l’inconnu !
Description du poste
En tant que programmeur·euse moteur C++ sénior à Ubisoft Montréal, vous rejoindrez l’équipe Core Services - Online Tech Foundations. Cette équipe crée les technologies qui soutiennent les services en ligne de nombreuses productions d’Ubisoft. Vous contribuerez à concevoir et à faire évoluer des systèmes distribués et des intergiciels utilisés dans les jeux, notamment pour le moteur de jeu, la programmation de bas niveau, le réseau et les composants Web intégrés au moteur.
Ce que vous ferez
- Développer et faire évoluer des intergiciels C++ fiables, performants et faciles à maintenir.
- Contribuer aux orientations techniques et aux choix d’architecture.
- Améliorer la qualité du code par les bonnes pratiques, les revues de code et l’amélioration continue.
- Résoudre des problèmes techniques complexes et optimiser les performances.
- Réduire les risques et la dette technique pour soutenir la pérennité des solutions.
- Collaborer avec les équipes et les autres parties prenantes.
- Partager les connaissances et suivre les évolutions technologiques.
Qualifications
Ce que vous apportez à l'équipe
- Maîtriser le C++ moderne, notamment C++17, C++20 et C++23.
- Concevoir des architectures logicielles, des algorithmes performants et des structures de données optimisées pour des systèmes complexes.
- Optimiser la gestion de la mémoire, la programmation multithread et l’utilisation du processeur.
- Utiliser le débogage, le profilage, l’intégration continue et le déploiement continu pour maintenir la qualité du code.
- Résoudre des problèmes complexes, communiquer clairement, travailler en équipe et contribuer aux choix techniques.
- Apporter, à titre d’atout, une expérience du développement sur console ou de projets de jeux multijoueurs.
- Connaître, à titre d’atout, C#, .NET, Visual Studio, CMake, les outils LLVM, GitLab-CI ou les méthodes agiles.
- Connaître, à titre d’atout, les moteurs de jeu Snowdrop, Anvil, Unreal ou Unity, les services infonuagiques AWS ou Azure, les systèmes distribués ou l’optimisation réseau.
Contract: PermanentWork flexibility: Office-based