We’re seeking someone to join our team as a Java Tech Lead to design and deliver highly scalable, cloud-ready transaction processing platforms that support electronic trading, asset processing, clearing and settlement functions for our global Institutional Securities business.
In the Technology division, we leverage innovation to build the connections and capabilities that power our Firm, enabling our clients and colleagues to redefine markets and shape the future of our communities. This is a Lead Software Engineering role which is part of the job family responsible for developing and maintaining software solutions that support business needs.
What you'll do in the role:
Lead the design and development of Java/Spring-based services for the custody platform, ensuring scalability, resilience, and maintainability.
Own the technical architecture and drive key design decisions across reconciliation, exception management, and data-processing workflows.
Guide and mentor a team of engineering specialists through code reviews, pairing, and technical coaching to raise overall code quality.
Translate business requirements from custody operations stakeholders into technical designs and actionable engineering tasks.
Partner with QA, DevOps, and production support teams to ensure reliable releases and rapid resolution of production issues.
Drive adoption of engineering best practices, including test automation, CI/CD, and secure coding standards across the team.
Evaluate and integrate new technologies and frameworks to improve system performance and developer productivity.
Collaborate with cross-functional teams (product, risk, compliance) to align technical delivery with regulatory and business priorities.
What you’ll bring in the role:
At least 8+ years of relevant experience building enterprise level systems using Java / Spring.
A superior technologist, with strong design and implementation fundamentals. Strong design skills for building scalable systems.
Strong experience in implementing multi-threaded applications (e.g. Multithreading / Concurrency)
Hands on experience with modern distributed technologies such as messaging brokers (e.g. Kafka) and distributed caching solutions.
Experience of Agile development techniques and a deep understanding of systems engineering, build and release management principles including continuous integration and continuous delivery.
Experience with application integration, software design patterns, frameworks, unit testing, automated testing, performance / memory analysis, and n-tier service-oriented architecture.
Strong fundamentals of domain/event/message driven architecture and REST services
Understanding of Docker and container orchestration.
Experience with databases
All our positions are located in Montreal, Quebec. We offer a hybrid work environment, combining remote work and attendance in the office.
Knowledge of French and English is required.
Responsable technique Java (hybride)Nous sommes à la recherche d’une personne qui se joindra à notre équipe à titre de responsable technique Java afin de concevoir et de livrer des plateformes de traitement des transactions hautement évolutives et prêtes pour l’infonuagique, soutenant les activités de négociation électronique, de traitement des actifs ainsi que les fonctions de compensation et de règlement de notre secteur mondial des titres institutionnels.
Au sein de la division Technologie, nous misons sur l’innovation pour développer les connexions et les capacités qui propulsent notre entreprise, 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 responsable principal en génie logiciel, faisant partie de la famille d’emplois responsable du développement et de la maintenance de solutions logicielles répondant aux besoins d’affaires.
Ce que vous ferez dans ce rôle :
Diriger la conception et le développement de services basés sur Java/Spring pour la plateforme de garde de titres (custody), en veillant à leur évolutivité, leur résilience et leur maintenabilité.
Être responsable de l’architecture technique et orienter les décisions clés de conception relatives aux processus de rapprochement, de gestion des exceptions et de traitement des données.
Encadrer et accompagner une équipe de spécialistes en ingénierie au moyen de revues de code, de programmation en binôme (pair programming) et de coaching technique afin d’améliorer la qualité globale du code.
Traduire les exigences d’affaires des parties prenantes des opérations de garde de titres en conceptions techniques et en tâches d’ingénierie concrètes.
Collaborer avec les équipes d’assurance qualité (QA), de DevOps et de soutien à la production afin d’assurer des déploiements fiables et une résolution rapide des incidents en production.
Favoriser l’adoption des meilleures pratiques d’ingénierie, notamment l’automatisation des tests, le CI/CD et les normes de développement sécurisé au sein de l’équipe.
Évaluer et intégrer de nouvelles technologies et de nouveaux frameworks afin d’améliorer la performance des systèmes et la productivité des développeurs.
Collaborer avec des équipes multidisciplinaires (produit, gestion des risques, conformité) afin d’aligner les livrables techniques sur les priorités réglementaires et d’affaires.
Ce que vous apporterez dans ce rôle :
Au moins huit (8) années d’expérience pertinente dans le développement de systèmes de niveau entreprise à l’aide de Java/Spring.
Solides compétences techniques ainsi que d’excellentes bases en conception et en mise en œuvre de solutions. Forte capacité à concevoir des systèmes évolutifs à grande échelle.
Expérience significative dans le développement d’applications multithreadées (p. ex., Multithreading / Concurrency).
Expérience pratique des technologies distribuées modernes, telles que les courtiers de messages (p. ex., Kafka) et les solutions de mise en cache distribuée.
Expérience des méthodologies de développement Agile et compréhension approfondie de l’ingénierie des systèmes ainsi que des principes de gestion des builds et des mises en production, y compris l’intégration continue et la livraison continue.
Expérience en intégration d’applications, en design patterns logiciels, en frameworks, en tests unitaires, en tests automatisés, en analyse des performances et de la mémoire, ainsi qu’en architecture orientée services à n niveaux (n-tier).
Excellente maîtrise des concepts d’architecture orientée domaine, événements et messages (domain-driven, event-driven et message-driven) ainsi que des services REST.
Tous nos postes sont situés à Montréal, Québec. Nous offrons un mode de travail hybride, combinant télétravail et présence au bureau.
La connaissance du français et de l’anglais est requise.
Ce texte a été traduit à l’aide d’outils automatisés. Bien que nous nous efforcions d’en assurer l’exactitude, veuillez consulter la version originale en anglais ou communiquer avec les ressources humaines pour toute clarification.