Senior Java/Scala Developer

20 hours ago

Montreal, Quebec, Canada Morgan-Stanley Full-time

Nous sommes à la recherche d’un(e) développeur(se) principal(e) Java/Scala pour se joindre à l’équipe Optimus SDLC et diriger l’évolution d’Optimus au sein du vaste écosystème Codetree, qui soutient les activités de Revenu fixe (Fixed Income) de Morgan Stanley ainsi que plus de 1 500 développeurs travaillant sur environ 40 millions de lignes de code et plus de 400 000 tests. Ce rôle pratique contribuera à améliorer le cycle de livraison des logiciels, depuis le développement local et la révision de code jusqu’à la compilation, aux essais, à la mise en production et au déploiement, en faisant progresser les outils destinés aux développeurs, l’infrastructure de plateforme, les systèmes distribués, l’automatisation des flux de travail et les capacités d’ingénierie appuyées par l’IA.

Au sein de la division Technologie, nous misons sur l’innovation pour bâtir les connexions et les capacités qui alimentent notre société, permettant à nos clients et à nos collègues de redéfinir les marchés et de façonner l’avenir de nos collectivités. Il s’agit d’un poste de chef(fe) du développement logiciel au niveau Directeur(trice), faisant partie de la famille d’emplois responsable du développement et de la maintenance de solutions logicielles répondant aux besoins de l’entreprise.

Depuis 1935, Morgan Stanley est reconnue comme un chef de file mondial des services financiers, en constante évolution et innovation afin de mieux servir ses clients et les collectivités dans plus de 40 pays à travers le monde.

Ce que vous ferez dans ce rôle :

  • Concevoir, développer et améliorer des services applicatifs backend, des outils destinés aux développeurs, des intégrations aux environnements de développement (IDE), des robots automatisés ainsi que l’infrastructure de la plateforme SDLC.
  • Concevoir des applications réactives et orientées événements intégrant l’état provenant des systèmes de gestion du code source, des systèmes de compilation et de tests, des services de flux de travail et des dépôts de données opérationnelles, tout en demeurant fiables malgré les mises à jour asynchrones et les défaillances partielles.
  • Contribuer à l’évolution des flux de travail d’ingénierie appuyés par l’IA dans les domaines du développement, des essais, du diagnostic des échecs de compilation, de la révision de code, de la documentation, de l’assistance aux développeurs et de la remédiation.
  • Faire évoluer les outils et interfaces SDLC afin que les assistants et agents alimentés par l’IA puissent interagir de façon sécuritaire et fiable avec ces flux de travail à grande échelle.
  • Assumer la responsabilité de la fiabilité opérationnelle de la plateforme SDLC en diagnostiquant les défaillances touchant les services, applications, pipelines, infrastructures de tests distribués, ordonnanceurs, caches et systèmes de stockage, puis en transformant les problèmes récurrents en améliorations durables.
  • Collaborer directement avec les développeurs à travers les activités de soutien, de diagnostic et d’engagement utilisateur afin de transformer leurs commentaires en améliorations pérennes de la plateforme.
  • Développer l’observabilité, les métriques, les tableaux de bord et l’automatisation des flux de travail afin d’améliorer la fiabilité, la transparence et l’autonomie du SDLC.
  • Exploiter et faire évoluer l’infrastructure de compilation et de tests soutenant un important monoréférentiel (monorepo) et un vaste parc de tests automatisés.
  • Concevoir des solutions en tenant compte de la sécurité, de la gestion des accès, de la protection des renseignements personnels, de l’auditabilité et d’une adoption responsable de l’IA.

Ce que vous apporterez au rôle :

  • Plus de 5 ans d’expérience en développement logiciel, avec une solide maîtrise de Java ou Scala (Python est utilisé comme langage secondaire pour l’automatisation et l’intégration d’outils).
  • Capacité à concevoir et développer des services backend évolutifs, des outils pour développeurs, des infrastructures de plateforme ou des solutions d’automatisation.
  • Bonne compréhension des flux de travail Git, des pratiques de révision de code, des systèmes de compilation, des concepts CI/CD, des infrastructures de tests et de l’automatisation des mises en production.
  • Excellentes compétences en résolution de problèmes et en analyse, avec une expérience démontrée de prise en charge d’enjeux complexes dans des systèmes distribués, des environnements de compilation et des flux de travail de développement.
  • Bonne compréhension des concepts de sécurité, de gestion des accès, de protection des renseignements personnels et d’auditabilité dans les environnements d’ingénierie.
  • Capacité à communiquer efficacement avec des utilisateurs techniques et diverses parties prenantes.
  • Une expérience des grands monoréférentiels (monorepos), des systèmes de compilation personnalisés,