Programmeur.euse Engin - (March of Giants)
Montréal (Montréal)
Description de l'offre
Company Description
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!
Job Description
Ce que vous ferez
· Programmer de façon claire et structurée tout en étant conscient des requis de performance, de maintenance, de modularité, d’extensibilité et de compatibilité.
· Être exemplaire et rigoureux dans la structure du code.
· Développer, refactorer et optimiser les systèmes core dans une perspective de pérennité.
· Compiler et comprendre les intentions du projet et répertorier les besoins de développement et analyser la faisabilité technique.
· Analyser les fonctionnalités existantes dans le moteur et voir si elles conviennent aux intentions.
· Développer et améliorer les modules nécessaires au moteur.
· Proposer des améliorations au besoin en concevant et implantant de nouveaux systèmes.
· Suggérer des innovations en s’inspirant de d’autres jeux ou moteurs de l’industrie.
· Assurer la performance et optimiser les systèmes.
· Supporter les fonctionnalités et les systèmes conçus pour la production.
· Documenter son travail afin de transférer ses connaissances et permettre aux utilisateurs (les autres métiers) de comprendre comme utiliser les systèmes et fonctionnalités engin.
· Effectuer toutes autres tâches connexes.
Qualifications
Formation :
· Diplôme en informatique ou génie informatique ou toutes autres formations équivalentes.
Expérience pertinente :
· Minimum de 1 à 3 ans d’expérience en programmation de logiciel, idéalement dans le domaine du jeu vidéo ou toutes autres expériences pertinentes.
Habiletés et connaissances :
· Posséder une excellente compréhension des détails techniques et les architectures des différents moteurs.
· Avoir un excellent esprit d’analyse et de synthèse.
· Capacité à résoudre des problèmes complexes.
· Être autonome et débrouillard.
· Avoir le sens du détail.
· Avoir un intérêt marqué pour les différentes architectures matérielles.
· Être orienté résultat.
· Avoir de bonnes habiletés relationnelles et de communication.
· Capable de travailler en équipe.
· Capable de s’adapter aux changements.
· Fortes connaissances en C++.
· Connaissances multiplateformes et des outils (un atout).
· Intérêt pour les différents systèmes : memory allocations, multi-threading, hardware architectures.