About the role
Description du poste
En tant que programmeur·euse moteur à Ubisoft Québec, vous améliorerez la performance des systèmes de bas niveau du moteur de jeu, notamment la gestion de la mémoire et l’ordonnancement des tâches.
Ce que vous ferez
* Écrire du code clair et structuré en tenant compte de la performance, de la maintenance, de la modularité, de l’extensibilité et de la compatibilité; * Développer, restructurer et optimiser les systèmes essentiels du moteur pour assurer leur pérennité; * Comprendre les objectifs du projet, relever les besoins de développement et évaluer leur faisabilité technique; * Examiner les fonctionnalités existantes pour vérifier si elles répondent aux objectifs du projet; * Développer les modules du moteur et proposer de nouveaux systèmes lorsque nécessaire; * Suggérer des améliorations inspirées d’autres jeux et moteurs; * Optimiser la performance des systèmes, notamment ceux liés à la mémoire et à l’ordonnancement des tâches; * Soutenir les fonctionnalités et systèmes conçus pour la production; * Documenter votre travail pour partager vos connaissances et aider les autres équipes à utiliser les systèmes et les fonctionnalités du moteur; * Contribuer aux autres tâches liées à la programmation du moteur.
Qualifications
Formation :
* Diplôme en informatique ou génie informatique ou toutes autres formations équivalentes.
Expérience pertinente :
* Minimum de 5 ans d’expérience en programmation de logiciel, idéalement dans le domaine du jeu vidéo ou toutes autres expériences pertinentes.
Ce que vous apportez à l'équipe
* Comprendre les aspects techniques et les architectures de différents moteurs de jeu; * Résoudre des problèmes complexes en examinant et en résumant l’information pertinente; * Organiser votre travail avec soin et chercher des solutions aux problèmes rencontrés; * Porter attention aux détails et aux résultats de votre travail; * Vous intéresser aux architectures matérielles, à l’allocation de mémoire et au traitement à fils multiples; * Communiquer clairement, travailler en équipe et vous adapter aux changements; * Maîtriser la programmation en C++; * Connaître la programmation multiplateforme et les outils associés, un atout.