Responsabilités
- Concevoir et architecturer des systèmes modulaires de jeu robustes, flexibles et performants.
- Tenir compte des exigences en conceptions techniques et identifier les technologies, frameworks et stratégies d'infrastructure cloud appropriés.
- Évaluer et sélectionner les outils, banques de données et technologies appropriés pour atteindre les objectifs du projet.
- Assurer la scalabilité, la performance, la sécurité et la maintenabilité de la conception logicielle et de l'infrastructure serveur sous-jacente.
- Collaborer avec des équipes interfonctionnelles pour connaître les besoins et définir les spécifications techniques.
- Connaître et conseiller les normes de codage et les meilleures pratiques afin de garantir un code de haute qualité et facile à maintenir.
- Faire évoluer le logiciel en fonction des commentaires, des tests et des analyses de performance.
- Architecturer, provisionner et gérer l'infrastructure cloud (ex. : AWS, GCP) en utilisant l'Infrastructure as Code (IaC) pour soutenir des services backend évolutifs.
- Concevoir, implémenter et maintenir des pipelines CI/CD robustes pour automatiser les tests, le déploiement et les mises à jour sans interruption de service (zero-downtime) pour les serveurs de jeu et les API.
- Analyser et déboguer certains des problèmes logiciels les plus complexes, en identifiant les causes profondes et en mettant en œuvre des solutions efficaces.
- Effectuer des tests et des vérifications minutieuses pour s’assurer que le logiciel répond aux exigences fonctionnelles et non fonctionnelles.
- Rechercher et résoudre les problèmes en matière de performances et optimiser les logiciels pour plus d'efficacité et mettre en place des systèmes de surveillance et d'alerte en temps réel (ex.: Datadog, Prometheus).
- Collaborer avec des équipes interfonctionnelles, notamment des chefs de produit, les concepteurs et d’autres ingénieurs, afin de comprendre les besoins et de fournir des solutions logicielles à grande échelle.
- Documenter les conceptions logicielles, le code et les processus techniques pour faciliter la compréhension, la maintenabilité et les améliorations.
- Participer activement aux revues de code et fournir un retour d'information constructif afin d'améliorer la qualité globale de la base de code.
- Mettre en œuvre la logique côté serveur, y compris les API, les bases de données, les systèmes d’authentification et les pipelines de traitement des données.
Prérequis
- Baccalauréat en informatique, ingénierie ou expérience équivalente.
- 8+ ans ou plus d’expérience dans le développement de logiciels, de préférence dans le domaine des jeux.
- Maîtrise en Javascript, Typescript ou C#.
- Excellente compréhension de l’ingénierie logicielle avec des technologies backend/serveur telles que Node.js.
- De l'expérience de travail sur un système d’API RESTful.
- Une solide expérience avec les fournisseurs cloud (AWS ou GCP) et les services clés liés au calcul (compute), au réseau et aux bases de données managées.
- Une expérience pratique des outils de conteneurisation et d'orchestration (Docker, Kubernetes) pour le déploiement et la mise à l'échelle de serveurs de jeu.
- Expérience l'utilisation de bases de données non relationnelles telles que MongoDB.
- Expérience des applications multijoueurs en temps réel utilisant WebSocket ou Websockets.
- Une expérience éprouvée dans la création et la maintenance de pipelines d'intégration et de déploiement continus (CI/CD) (ex. : GitHub Actions, GitLab CI, Jenkins).
- Capacité d’écrire un code propre, simple et bien documenté en tenant compte des exigences de conception.
- Expérience avérée de travail autonome et en collaboration au sein d’une équipe dynamique.
- Solide expérience dans l’utilisation d’un système de contrôle des sources tel que GIT ou Perforce.
- Connaissance à jour des dernières tendances en matière de jeux mobiles.
- Capacité à communiquer efficacement avec les membres techniques et non techniques de l’équipe.
- Expérience de travail selon les méthodes Agile, Kanban ou des méthodologies de gestion de projet similaires.
Atouts
- Une expérience des outils d'Infrastructure as Code (IaC), plus particulièrement Terraform, est un plus.
- Expérience dans le maintien de pipelines d'intégration continue (gitlab CI ou similaire) est un plus.
- Le bilinguisme (français et anglais) est un avantage.
Mode de travail
On-site — Montréal
Informations complémentaires
- Contrat
- Possibilité de travail sur place dans le studio de Montréal
- Kabam est un employeur qui respecte le principe de l'égalité des chances en matière d'emploi
- Des aménagements seront fournis aux candidats qui en font la demande pour prendre part à tous les aspects du processus de sélection