Compétences recherchées — Connectez-vous et téléversez votre CV pour comparer avec votre profil
Jira Git CI/CD +8 autres

Détails du poste

  • Lieu de travail : Montreal
  • Type de poste : Permanent à temps plein

Description du poste

À propos du poste

Nous sommes à la recherche d'un(e) programmeur(-euse) intermédiaire pour rejoindre notre équipe engin et travailler en profondeur dans les systèmes qui soutiennent nos jeux basés sur Unity. Il n'est pas nécessaire d'avoir déjà livré une fonctionnalité avec le moteur Unity, mais vous devez comprendre le fonctionnement des moteurs de jeu à un niveau systémique et être compétent(e) dans l'utilisation de Unity et connaître l'architecture, les contraintes ainsi que les conventions propres à la plateforme. Si vous possédez une expérience approfondie des moteurs Unreal, Godot ou propriétaire, nous serions ravis d'en savoir plus sur vous.

Vos tâches

  • Concevoir, mettre en oeuvre et optimiser des systèmes au niveau moteur : pipelines de rendu (URP/HDRP), physique, animation, mémoire et outils
  • Profiler et déboguer des problèmes de performance complexes sur CPU, GPU et mémoire dans l'éditeur et sur les plateformes cibles
  • Étendre et personnaliser le pipeline de rendu d'Unity en utilisant des passes de rendu personnalisées, des shaders de calcul et des intégrations avec Shader Graph
  • Développer et maintenir des outils d'édition, des pipelines de ressources et des systèmes d'automatisation pour accélérer le travail de l'équipe de développement élargie
  • Collaborer avec les équipes de gameplay et artistiques afin de traduire les contraintes techniques en solutions pratiques et bien documentées
  • Participer aux examens d'architecture, rédiger des documents de conception technique et encadrer les programmeurs juniors si nécessaire

Exigences

Architecture de moteur

  • Solide compréhension de l'architecture des moteurs de jeu en temps réel : graphes de scène, systèmes entité-composant, systèmes de tâches et modèles de mémoire
  • Expérience pratique avec au moins un moteur important : Unity, Unreal, Godot ou un moteur interne propriétaire
  • Familiarité avec les principes fondamentaux du pipeline de rendu : appels de dessin, regroupement, élimination, profondeur/stencil et post-traitement
  • Compréhension de la boucle de trame, de l'ordre de mise à jour, des pas de temps fixes versus variables et des modèles de threading

Connaissance de l'utilisateur Unity

  • À l'aise avec la navigation et la construction dans Unity : scènes, prefabs, base de données d’assets, mode Play et sérialisation
  • Sait déterminer quand et pourquoi utiliser les systèmes ECS/DOTS, Jobs et Burst de Unity plutôt que les approches basées sur MonoBehaviour
  • Bonne compréhension conceptuelle des pipelines URP/HDRP de Unity à un niveau conceptuel, notamment les passes de rendu, les fonctionnalités de rendu scriptables et empilement de caméras
  • Conscience du modèle de déploiement de la plateforme de Unity, des paramètres du joueur et des niveaux de qualité

Programmation

  • Solides compétences en C# : modèles axés sur les performances, code non sécurisé, NativeArray et concessions entre struct et class
  • Compétence en C ou C++, notamment pour le développement de plugins natifs, un atout
  • Familiarité avec les langages de shader : HLSL/GLSL dans un contexte Unity
  • À l'aise avec les outils de profilage : Unity Profiler, Frame Debugger, RenderDoc, Xcode Instruments ou des profileurs GPU

Pratiques d'ingénierie

  • Plus de 4 ans d'expérience professionnelle en développement logiciel, dont au moins 2 ans sur un jeu ou une application en temps réel
  • Expérience dans la lecture et la rédaction de documents de conception technique et de propositions d'architecture
  • Maîtrise du contrôle de version (Git), des pipelines CI/CD et des tests automatisés dans un contexte de jeu
  • Capable de définir, d'estimer et de communiquer clairement les concessions techniques avec des collègues non techniques

Atouts

  • Contributions antérieures au moteur Unity
  • Travail avec le moteur Unreal C++
  • Mise en oeuvre SRP personnalisée
  • Shaders de calcul ou simulation GPU
  • Fonctionnement interne du moteur physique
  • Conception de pipeline d'assets
  • Développement de plateforme console (PS5®, Xbox)
  • Optimisation GPU mobile
  • Code réseau multijoueur au niveau du moteur
  • Outils de jeu open source

L'état d'esprit que nous recherchons

  • Esprit orienté système : Vous analysez les concessions à l'échelle du système, et non uniquement fonctionnalité par fonctionnalité.
  • Profil pragmatique : Les différences entre moteurs ne vous intimident pas. Vous êtes capable de transposer avec assurance les concepts d'une plateforme à une autre.
  • Obsession de la performance : Vous effectuez un profilage avant d'optimiser, et vous comprenez la différence entre les deux.
  • Contribution à l'esprit d'équipe : Vous concevez des systèmes et des outils qui permettent à l'ensemble de l'équipe de gagner en efficacité, et pas seulement à vous-même.

Informations complémentaires

Ce en quoi Gameloft croit

Nous jouons le jeu pour un monde meilleur. En tant que leader dans l'industrie, nous voulons utiliser le pouvoir des jeux vidéos comme une force positive au changement.
En nous rejoignant, vous aurez une multitudes d'opportunités pour aider votre environnement, faire la différence et bâtir un monde plus inclusif.

Nous voulons que les Gamelofteurs se concentrent sur l'essentiel: créer du fun et des jeux de haute qualité dont ils pourront être fiers de les partager avec les joueurs du monde entier.

Pour vous aider dans votre rôle, nous avons mis en place les bénéfices suivants:

Ce que nous offrons

  • Horaire flexible
  • Vendredi après-midi de congé toute l’année!
  • Dès votre embauche, 3 semaines de vacances et des congés mobiles
  • Congé offert entre Noël et le jour de l'An pour bien débuter la nouvelle année
  • Programme de REER collectif avec participation de l'employeur
  • Programme d'assurances collectives avantageux
  • Accès gratuit à une clinique médicale virtuelle 24h/24, 7 jours/7
  • Programme d'aide aux employés et à leur famille immédiate
  • Programme de remboursement partiel pour votre déplacement au bureau (transport en commun et/ou stationnement)
  • Accompagnement lors de toute relocalisation pour les nouveaux collaborateurs en provenance de pays ou de régions hors Québec
  • Programme de référencement avec bonus
  • Activités et prix offerts régulièrement par le comité social

Mais aussi au studio

  • Local à vélos sécurisé et montant offert pour encourager le transport actif (période estivale)
  • Collations offertes quotidiennement (fruits, café, etc.) les mercredis
  • Espaces de jeux
  • Terrasse sur le toit
  • Studio à proximité du parc Jarry et des nombreux attraits du Mile-Ex et de la Petite-Italie
  • Activités physiques organisées à même le studio ou au parc Jarry (ex. : yoga)