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.