ENGLISH BELOW
Ce que vous ferez chez nous
En tant que membre de l'équipe Online Services du jeu vidéo Star Citizen de Cloud Imperium Games, vous serez responsable de la construction des services backend MMO en ligne et des outils connexes, agissant à la fois sur le serveur et sur le client du jeu.
L'équipe est basée à Montréal, mais opère principalement en ligne avec des studios situés aux États-Unis et au Royaume-Uni.
Vos principaux objectifs seront :
Concevoir des API de service pour optimiser les fonctionnalités du jeu en travaillant en étroite collaboration avec les Designers de jeu
Développer des microservices en ligne évolutifs dans un vaste écosystème de services interreliés
Programmer en tandem avec les développeurs online qui intègrent les services dans le client du jeu.
Prendre possession des fonctionnalités du jeu dans l'architecture MMO du début jusqu’au déploiement et à l'exploitation
Vous travaillerez avec les technologies suivantes :
Communications avec gRPC et Protobuf
Micro-services en Node.JS / Typescript
Services à haute performance avec C++ et gRPC
Communications du client de jeu C++ (StarEngine) avec gRPC
Files d'attente de messages distribués (Kafka)
Déploiement avec Kubernetes, Docker et Linkerd2
Vos talents
Vous êtes un joueur en équipe autonome. Vous savez faire part de vos délais éventuels à la production et contacter les bonnes personnes pour obtenir les informations techniques qui vous permettront d’avoir du succès dans vos projets.
Vous aimez partager votre expérience et vos connaissances et savez vous adapter à la façon d’apprendre de chacun. Vous êtes un bon mentor et connaissez la valeur pour le collectif de code review soignées.
Travailler avec des lead développeurs seniors et des membres de votre équipe qui vous challengeront dans le but de peaufiner vos designs techniques
Communiquer efficacement et traduire le jargon technique à des développeurs n’ayant pas la meme expertise que vous, des dev QA et des producteurs(rices)
Vous ne repoussez pas à plus tard des améliorations mineures pouvant être faites lorsque vous corrigez un bug sur un autre sujet, mais vous savez également quand prioriser la livraison rapide lorsque necessaire
Vous souhaitez, à travers vos initiatives, contribuer à votre manière au bonheur au travail de vos collaborateurs
Faire avancer les choses, partager les bonnes pratiques en développement backend, contribuer à la mise en œuvre de processus efficaces
Vos réalisations et expériences antérieures
Expérience de programmation pertinente ou baccalauréat en informatique
4 ans+ d'expérience en programmation backend
3 ans+ d'expérience en programmation avec Node.js et expérience avec TypeScript
Bonne compréhension de l’invite de commande Linux, git et des procédures de compilation
Bonne compréhension de la communication réseau en temps réel via gRPC, WebSocket
Connaissance du event sourcing et du Domain-Driven Design (DDD)
Expérience avec C / C++
Expérience avec Docker et Kubernetes; un atout
Expérience de travail dans un studio de jeu vidéo; un atout
Ce que vous brûlez d’envie d’accomplir
Créer des microservices dans un environnement polyglotte. Notre équipe est répartie dans différents pays!
Faire partie d'un environnement de développement à itération rapide
Estimer l'effort pour effectuer des tâches spécifiques, respecter les délais de livraison ainsi qu’aider l'équipe à définir et respecter collectivement le calendrier de production
Offrir du mentorat à d'autres développeurs sur des technologies que vous avez appris à maîtriser
Concevoir des services en ligne innovants en mettant l'accent sur la tolérance aux pannes, l'évolutivité et la sécurité
Comprendre les fonctionnalités du jeu afin de fournir des API de service propres, bien définies et documentées
Utiliser des technologies Cloud Native pour garantir que Star Citizen soit construit sur un écosystème durable
Fournir des outils et des applications pour permettre aux équipes LiveOps de gérer le jeu
Interagir avec les ingénieurs d'infrastructure pour analyser, informer, réviser ainsi qu’améliorer la fiabilité et l'évolutivité du backend du jeu
Chez Turbulent, un équilibre entre la vie professionnelle et la vie privée est primordial
Nous avons plusieurs politiques en place à cet effet :
Télétravail à 100% autorisé
Horaires flexibles offerts
Horaires réduits - de 32 heures à 40 heures par semaine - possibles
Temps supplémentaire payé
3 à 4 semaines de vacances selon la séniorité, ainsi que 3 jours additionnels à Noël
Programmes avantageux d’assurances collectives, de contribution au régime de retraite et de télémédecine offerts
Nous sommes proactifs afin de maintenir nos politiques à jour!
Turbulent s’engage à employer un effectif diversifié. Les candidats qualifiés seront évalués sans égard à leur ethnicité, à leur couleur, à leur sexe, à leur religion, à leur origine nationale, à leur âge, à leur orientation sexuelle, à leur identité de genre, à leur expression de genre ou à un handicap.
What you will do
As a member of the Online Services team of Cloud Imperium Games' video game Star Citizen, you will be responsible for building the online MMO backend services & related tools, acting on both the server and game-client side.
The team is based in Montreal but operates mostly online with studios located in the US and the UK.
Your main objectives will be to :
Design service APIs to power game features by working closely with Game Designers
Develop scalable online microservices in a large meshed service ecosystem
Program in tandem with Gameplay Developers to enable the game client
Take ownership of game features in the MMO architecture from inception to deployment and operation
You will work in the following stacks :
Communications with gRPC & Protobuf
Gameplay services under Node.JS with Typescript
High throughput services with C++ and gRPC
C++ Game Client (StarEngine) communications with gRPC
Distributed message queues (Kafka)
Deployment with Kubernetes, Docker, and Linkerd2
You’re Savvy in
Communicating efficiently with people and translating technical jargon
Adapting to various contexts, sometimes shifting priorities
Managing your schedule to ensure productivity and efficiency in projects
Showing autonomy, being thorough and curious about new technologies
Getting things done, sharing good practices in backend development, contributing to implementing efficient processes
You have Accomplished
Relevant programming experience or Bachelor in Computer Science
4 years+ of experience in backend programming
2 years+ of experience in programming with Node.js and experience with TypeScript
Good understanding of Linux shell, git and build pipelines
Good understanding of real-time network communication through gRPC, WebSocket
Knowledge of Event-Sourcing and Domain-Driven Design (DDD)
Experience with C / C++
Experience with Docker and Kubernetes; an asset
Experience working in a video game studio, an asset
You’re Eager to Take On
Building microservices in a polyglot environment. Our team is spread over different countries!
Being part of a fast-iterating development environment
Estimating the effort to perform specific tasks, committing to delivery deadlines and helping the team set and respect production timeline collectively
Mentoring other developers on technologies you have learned to master
Designing innovative online services by focusing on fault-tolerance, scalability & security
Understanding the game features in order to provide clean, well defined, and documented service APIs
Using Cloud Native technologies to guarantee that Star Citizen is built on top of a sustainable ecosystem
Providing tools and applications to enable LiveOps teams to manage the game.
Interacting with infrastructure engineers to analyze, inform, review and improve the reliability and scalability of the game’s backend
At Turbulent, balance between professional and private life is essential
We have several policies in place for this purpose :
100% remote allowed
Flexible hours offered
Reduced hours - from 32 hours to 40 hours per week - possible
Paid overtime
3 to 4 weeks of vacation depending on seniority, plus 3 additional days at Christmas
Competitive group insurance, retirement plan contribution and telemedicine programs available
We are proactive in keeping our policies up to date!
Turbulent is committed to employing a diverse workforce. Qualified applicants will receive consideration without regard to race, colour, religion, sex, national origin, age, sexual orientation, gender identity, gender expression, or disability.