Détails du poste
- Lieu de travail : Montreal
- Type de poste : Permanent à temps plein
Description du poste
En tant que membre de l’équipe Online Services chez Ubisoft Montréal, vous rejoindrez l’équipe chargée de fournir les services en ligne d’Ubisoft à l’ensemble des studios et des titres. Votre travail a un impact direct sur la fiabilité, la latence et la sécurité du trafic côté joueurs pour des centaines de millions d’utilisateurs.
Vous travaillerez en étroite collaboration avec une équipe pluridisciplinaire de programmeurs, de SRE et de studios de jeu, où chacun partage ses connaissances et est encouragé à évoluer chaque jour.
Ce que vous ferez
En tant que Senior Software Developer (Online Services), vous concevrez, développerez et exploiterez des services Gateway distribués, en mettant l’accent sur la disponibilité élevée, la faible latence, la scalabilité et la sécurité.
- Écrire du code idiomatique, testé et prêt pour la production en Go et TypeScript/Node.js et Lua, avec un impact mesurable sur la latence, la fiabilité et la sécurité.
- Contribuer à la conception technique de nouvelles fonctionnalités Gateway et aux décisions d’architecture de haut niveau.
- Faire évoluer la Gateway vers une approche self-serve, pilotée par API, dans AWS afin que les clients internes (équipes de jeu, online services) puissent intégrer leurs routes en toute sécurité, sans intervention manuelle.
- Intégrer la sécurité dès la conception dans la Gateway : modélisation des menaces, atténuations OWASP API Security Top 10, politiques WAF et protection en périphérie, durcissement des couches de routage, d’authentification et de limitation de débit.
- Approvisionner et exploiter l’infrastructure Gateway avec l’infrastructure-as-code (Terraform, AWS CDK ou CloudFormation).
- Construire l’observabilité dans tout : métriques, journaux structurés, traces, alertes pilotées par les SLO.
- Faire partie d’une équipe agile travaillant en collaboration sur les conceptions techniques, les nouvelles fonctionnalités et les améliorations constantes du code existant.
- Mentorer et soutenir des collègues moins expérimentés ; participer aux revues de code et aux discussions d’architecture.
- Déboguer, profiler et améliorer la base de code existante sous la charge de production.
Exigences
Vous, en tant que personne
Vous cherchez l’opportunité de contribuer avec à la fois votre expérience et votre passion à l’une des plus grandes plateformes de jeu au monde. Vous souhaitez conduire la modernisation d’un élément critique d’infrastructure dont dépend chaque service en ligne d’Ubisoft.
Vous avez d’excellentes compétences en communication et vous aimez partager vos connaissances et votre expérience en mentorant et en soutenant des collègues moins expérimentés. Vous croyez à la responsabilisation collective et vous collaborez naturellement avec vos pairs pour apprendre, partager des idées et résoudre des problèmes complexes.
Vous utilisez activement des outils modernes de développement assisté par l’IA (Claude, GitHub Copilot, etc.) dans le cadre de votre flux de travail quotidien, et vous êtes enthousiaste à l’idée d’aider l’équipe à élever son niveau grâce à ceux-ci : de meilleures revues de code, des prototypes plus rapides, une automatisation plus intelligente.
Ce que vous apportez
- 5+ années d’expérience professionnelle en programmation.
- Bonne maîtrise de Go et/ou Node.js/TypeScript, avec la capacité de vous adapter et de monter en compétence sur Lua (OpenResty) pour la couche périphérique.
- Solides bases en programmation : code clair, modèles de conception, utilisation idiomatique du langage (concurrence en Go, modèles asynchrones en Node.js).
- Pratiques de tests rigoureuses : tests unitaires, tests d’intégration, pyramides de tests. À l’aise pour refactorer du code legacy avec confiance.
- Expérience pratique du débogage et du profilage de code de production (CPU, mémoire, latence) sous charge.
- Solide expérience dans la conception, la construction et l’exploitation d’API RESTful et de services backend distribués à grande échelle.
- Expérience pratique avec AWS (déploiement, mise en réseau, IAM, observabilité).
- Expérience pratique avec l’infrastructure-as-code (Terraform, AWS CDK ou CloudFormation) pour provisionner et exploiter des ressources AWS.
- Maîtrise des pipelines CI/CD (GitLab CI, GitHub Actions ou équivalent) et des pratiques DevOps modernes.
- Solide expérience en sécurité des API : modélisation des menaces, OWASP API Security Top 10, conception sécurisée par défaut (authentification, autorisation, protection contre les abus).
- Expérience avec les technologies WAF et de protection en périphérie (AWS WAF ou équivalent) : écriture de règles, atténuation des bots, protection DDoS, politiques de limitation de débit.
- Diplôme de baccalauréat en informatique, en génie logiciel ou expérience pratique équivalente.
- Anglais et français courants (le rôle exige d’interagir avec des parties prenantes à travers les studios Ubisoft et des partenaires dans le monde entier, ainsi qu’avec des collègues basés dans d’autres provinces canadiennes).
Atout
- Expérience avec nginx/OpenResty et le scripting Lua.
- Expérience dans la construction ou l’exploitation d’un API Gateway ou d’un service mesh (Kong, Envoy, AWS API Gateway, etc.).
- Connaissance des protocoles d’authentification/autorisation (OAuth2, OIDC, JWT, mTLS).
- Expérience avec des plateformes internes pour développeurs en libre-service.
- Expérience avec des clouds autres qu’AWS (Tencent Cloud, GCP, Azure).
- Expérience pratique dans l’intégration d’outils de développement assisté par l’IA (Claude, GitHub Copilot) dans les workflows de l’équipe.
- Parcours en pratiques SRE : SLO, budgets d’erreur, gestion des incidents.
- Expérience dans le support de jeux AAA live ou de plateformes en ligne à grande échelle.