Description De L'entreprise
Ubisoft est une référence mondiale du jeu vidéo, avec des équipes réparties aux quatre coins du monde qui créent des expériences de jeu originales et mémorables, de Assassin’s Creed à Rainbow Six en passant par Just Dance et bien d’autres encore. Nous croyons que la diversité des points de vue fait progresser à la fois les joueurs et les équipes. Si vous êtes passionné·e par l’innovation et que vous souhaitez repousser les limites du divertissement, rejoignez notre aventure et aidez-nous à créer l’inconnu!
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.