Temps plein

Développeur logiciel – Ingénierie assistée par IA

Montréal, QC — hybride

Concevez, orientez et supervisez le travail d'agents IA spécialisés, tout en demeurant responsable de la qualité technique du produit livré.

Nous cherchons un développeur logiciel qui souhaite travailler à la frontière entre l’ingénierie logicielle traditionnelle et les nouvelles méthodes de développement assistées par agents IA.

Chez nous, le rôle du développeur évolue : il ne s’agit plus uniquement d’écrire chaque ligne de code, mais de concevoir, orienter et superviser le travail d’agents IA spécialisés, tout en demeurant responsable de la qualité technique du produit livré.

Vous travaillerez avec une méthode de développement structurée dans laquelle des agents IA participent à l’analyse, à la conception, au développement, aux tests, à la documentation et à la validation des solutions.

Le développeur demeure toutefois au centre du processus : il définit l’architecture, prend les décisions importantes, révise le travail produit et s’assure que les systèmes livrés sont robustes, sécuritaires et maintenables.

Votre rôle

Vous serez responsable de mener des fonctionnalités et des projets logiciels de leur définition jusqu’à leur mise en production.

Pour y arriver, vous travaillerez avec une équipe composée à la fois de développeurs et d’agents IA spécialisés.

Vous devrez notamment transformer des besoins d’affaires ou techniques en plans de développement structurés, déléguer certaines tâches aux agents appropriés, superviser leur exécution et valider rigoureusement les résultats obtenus.

Votre rôle se rapproche ainsi de celui d’un lead technique d’une équipe de développement augmentée par l’IA.

Vos responsabilités

  • Concevoir des solutions logicielles et participer aux décisions d’architecture.
  • Transformer des besoins fonctionnels en spécifications et en tâches de développement claires.
  • Planifier et structurer le travail pouvant être exécuté par des agents IA.
  • Superviser plusieurs agents spécialisés travaillant sur l’analyse, le développement, les tests et la documentation.
  • Réviser et valider le code généré ou modifié par les agents.
  • Identifier les erreurs de conception, problèmes de sécurité, régressions et compromis techniques.
  • Développer directement les composants nécessitant une intervention humaine ou une expertise particulière.
  • Mettre en place et faire respecter des standards de qualité, de tests et de revue de code.
  • Participer à la conception de tests automatisés, de tests d’intégration et de stratégies de validation.
  • Diagnostiquer les problèmes complexes rencontrés dans les environnements de développement et de production.
  • Contribuer à l’amélioration continue de nos méthodes de développement assistées par IA.
  • Documenter les décisions techniques importantes et assurer la maintenabilité des solutions développées.
  • Collaborer avec les équipes produit, architecture et opérations lors des déploiements chez nos clients.

Une nouvelle façon de développer

Notre approche repose sur une méthodologie structurée de développement logiciel assisté par IA.

Selon les projets, plusieurs agents peuvent intervenir sur une même initiative avec des responsabilités distinctes :

  • analyse des besoins;
  • exploration du code existant;
  • conception technique;
  • développement;
  • tests;
  • revue de code;
  • documentation;
  • validation fonctionnelle;
  • recherche de régressions ou de vulnérabilités.

Votre responsabilité est de diriger ce système de développement, plutôt que d’accepter aveuglément le travail produit par l’IA.

Vous devez être capable de comprendre ce que les agents proposent, de remettre leurs décisions en question et de déterminer si une solution est réellement prête à être intégrée et déployée.

Ce que nous recherchons

Nous accordons davantage d’importance à votre jugement technique et à votre capacité à résoudre des problèmes qu’au nombre d’années d’expérience.

Vous pourriez être un bon candidat si vous possédez :

  • une solide expérience pratique en développement logiciel;
  • une bonne compréhension de l’architecture d’applications modernes;
  • une capacité à lire, comprendre et réviser rapidement du code produit par d’autres;
  • une bonne compréhension des API, bases de données et intégrations entre systèmes;
  • une connaissance des pratiques Git, pull requests et revue de code;
  • une compréhension des tests automatisés et des pipelines CI/CD;
  • une capacité à diagnostiquer des problèmes complexes;
  • de bonnes habitudes de documentation technique;
  • une grande autonomie et un bon jugement technique.

Une expérience formelle comme développeur senior ou lead technique est intéressante, mais n’est pas obligatoire.

Nous recherchons surtout quelqu’un capable de prendre la responsabilité technique d’un problème et de mener sa résolution jusqu’à une solution fonctionnelle et maintenable.

Ce qui constitue un atout

  • Expérience avec Python, TypeScript ou des technologies similaires.
  • Expérience avec Docker et les environnements conteneurisés.
  • Expérience avec PostgreSQL ou d’autres bases de données relationnelles.
  • Expérience avec les architectures distribuées et les API.
  • Connaissance des environnements cloud ou des infrastructures modernes.
  • Expérience avec GitHub, GitLab ou Gitea.
  • Expérience avec des outils de développement assisté par IA ou des agents de programmation.
  • Connaissance des LLM, du tool calling ou des architectures d’agents IA.
  • Expérience avec des systèmes nécessitant observabilité, traçabilité et contrôle d’accès.

Notre environnement de développement

Nous utilisons une approche d’ingénierie structurée où chaque changement significatif passe par plusieurs étapes :

Analyse → conception → planification → développement → tests → revue → validation → déploiement

Les agents IA accélèrent plusieurs de ces étapes, mais les décisions techniques importantes et la responsabilité finale demeurent humaines.

Nous cherchons donc des développeurs qui aiment autant concevoir et réfléchir à un système que programmer.

Comment nous mesurons la réussite dans ce rôle

Votre performance ne sera pas évaluée sur le nombre de lignes de code produites.

Nous regardons plutôt votre capacité à :

  • livrer des fonctionnalités fiables;
  • détecter les mauvaises décisions proposées par les agents;
  • maintenir une architecture cohérente;
  • réduire les régressions;
  • améliorer la couverture de tests;
  • résoudre rapidement les problèmes complexes;
  • structurer le travail afin que plusieurs agents puissent contribuer efficacement;
  • améliorer progressivement nos méthodes et nos outils de développement.

Ce que nous offrons

  • Un environnement où l’IA est réellement intégrée au processus d’ingénierie, et non simplement utilisée comme assistant de programmation.
  • L’occasion d’expérimenter une nouvelle organisation du développement logiciel basée sur des équipes hybrides humain–agents IA.
  • Des projets déployés dans de véritables environnements clients.
  • Une influence directe sur les choix d’architecture, les outils et les méthodes de développement.
  • Une culture où la qualité, l’automatisation et l’amélioration continue sont au cœur du travail.
  • Des problèmes techniques complexes avec beaucoup d’espace pour expérimenter et apprendre.
  • Un rôle qui évoluera avec les capacités des systèmes d’intelligence artificielle.

Le profil que nous voulons

Vous aimez comprendre comment un système fonctionne avant de le modifier.

Vous n’avez aucun problème à laisser un agent IA écrire une partie importante du code si cela permet d’aller plus vite — mais vous refusez d’intégrer quelque chose que vous ne comprenez pas ou que vous ne pouvez pas défendre techniquement.

Vous aimez structurer un problème, découper le travail, challenger une solution et améliorer continuellement la façon dont les logiciels sont construits.

Si cette façon de travailler vous intéresse, nous aimerions vous rencontrer.

Postuler pour ce poste