Pourquoi nous rejoindre ?
- Tu contribueras à faire grandir une communauté à fort impact social au Québec. Chaque jour, tu feras une différence auprès d’élèves motivé·e·s à obtenir leur DES ou à réaliser leurs objectifs de vie.
- Tu travailleras avec une équipe soudée, dans un environnement moderne, lumineux et dynamique.
- Tu profiteras d’horaires flexibles, d’un statut professionnel et d’un mode de travail hybride.
- Ton salaire sera compétitif selon ton expérience. S’y ajoutent une assurance collective couverte à 75 %, un REER collectif et des congés payés, dont la période entre Noël et le jour de l’An et celle du 24 juin au 1er juillet, pour une déconnexion collective bien méritée !
Le rôle
En tant que développeur ou développeuse full stack senior, tu seras responsable de l’expérience que vivent ces utilisateurs avec ChallengeU, des interfaces React jusqu’aux services Node.js qui les soutiennent. Environ 60 % de ton temps sera consacré au frontend et 40 % aux API et au backend. Tu prendras part aux décisions techniques en équipe, et tu travailleras de près avec l’équipe produit pour transformer les besoins des élèves et des écoles en fonctionnalités concrètes.
Tu contribueras aussi à façonner la manière dont notre équipe développe des logiciels avec des agents d’IA. Concrètement, tu rédigeras les spécifications, les règles et les vérifications qui permettent aux agents de produire un travail fiable. Tu réviseras ensuite ce qu’ils livrent avec la même exigence que pour le code écrit par un humain. C’est un rôle idéal si tu veux avoir un impact direct sur le produit et aider à bâtir une façon moderne de développer des logiciels.
Tu rejoindras une petite équipe d’ingénierie expérimentée.
Concrètement, tu vas :
- Concevoir les interfaces en React et TypeScript, développer les services Node.js qui les alimentent et livrer chaque fonctionnalité de bout en bout. Tu es aussi à l’aise côté frontend que côté backend, et tu aimes prendre en charge un produit dans son ensemble.
- Modéliser les données, optimiser les requêtes dans des bases SQL et NoSQL, et gérer les migrations de schéma.
- Prendre en charge l’architecture frontend : bibliothèque de composants, gestion d’état, performance, accessibilité (WCAG 2.1 AA) et conception adaptative pour les élèves sur mobile.
- Transformer les maquettes en interfaces soignées et rapides, et remettre en question l’expérience utilisateur lorsqu’un élément risque de dérouter un élève ou un conseiller.
- Intégrer nos produits d’IA de bout en bout : appels aux services d’IA côté backend, réponses en continu (streaming) et états clairs pour les résultats générés par l’IA côté frontend.
- Assurer la qualité et la fiabilité en production : tests automatisés, journalisation, surveillance et participation à la résolution des incidents.
- Utiliser quotidiennement des agents de codage IA (Claude Code et outils similaires). Tu découperas le travail en tâches bien définies, tu rédigeras les spécifications et les critères d’acceptation sur lesquels travaillent les agents, puis tu réviseras et valideras leurs demandes MR/PR.
- Contribuer à notre configuration commune d’agents (règles de projet, compétences ou skills, hooks et vérifications d’évaluation) afin que toute l’équipe obtienne de meilleurs résultats avec les agents.
- Collaborer avec l’équipe produit et les autres développeurs et développeuses à l’élaboration de feuilles de route techniques itératives.
Qualifications requises
- Au moins 6 ans d’expérience en développement Web full stack, dont 4 ans en React et TypeScript côté frontend, et une solide pratique de Node.js côté backend.
- La maîtrise des cadriciels modernes : Next.js, Tailwind et shadcn/ui côté frontend; NestJS (de préférence), Fastify ou Express côté backend. Tu maîtrises aussi les API REST/GraphQL, les ORM (Prisma, TypeORM) et les bases de données SQL et NoSQL.
- Un esprit critique et un fort sens des responsabilités. Tu prends en charge tes livrables de bout en bout, tu remets en question les hypothèses (y compris le code généré par l’IA) et tu proposes des solutions plutôt que de simplement signaler les problèmes.
- Une expérience en architecture modulaire (frontend et backend) et avec différents modèles de communication : appels synchrones (REST, GraphQL), messagerie asynchrone et architecture événementielle (files d’attente, pub/sub), ainsi que temps réel (WebSockets, Server-Sent Events).
- Une expérience concrète de la livraison de code avec des assistants ou des agents de codage IA, et une vision claire de leurs forces et de leurs limites.
- Une expérience dans l’utilisation et la conception d’une usine logicielle propulsée par l’IA (AI Software Factory).
- De bonnes pratiques de test (Jest/Vitest, Testing Library, Playwright ou Cypress) et une aisance avec l’intégration et le déploiement continus (CI/CD).
- Une expérience pratique d’AWS (par exemple ECS, Lambda, S3, CloudFront).
- Une bonne maîtrise du français écrit, et un anglais fonctionnel pour lire de la documentation technique et collaborer avec des collègues et des fournisseurs anglophones.
Atouts
- Une expérience dans le développement de fonctionnalités fondées sur des grands modèles de langage (LLM) : conception de requêtes (prompts), interfaces en continu, évaluations, garde-fous.
- Une expérience avec les systèmes de design, Storybook ou les audits d’accessibilité.
- Une expérience en technologies éducatives, ou avec des produits utilisés par des mineurs et encadrés par les lois sur la protection des renseignements personnels (Loi 25, LPRPDE).
- Une expérience en infrastructure en tant que code (Terraform ou AWS CDK).