Position: Senior Software Developer
Location: Montreal, Canada
What’s it like to work here?
We are driven to excel, and collaboration is key to our continued success. We can go further for our clients because we go further for each other too. Our inclusive culture creates an environment where people can be themselves at work while doing their best work. No matter where you work in the Maples Group, you will be part of a global team.
The Opportunity
We are looking for an accomplished Senior Software Developer to join our Business Technology team as part of our financial services business in Montreal.
The Senior Software Developer reports to the Software Development and Architecture Manager. This role works within a Scrum team to build high-quality software solutions for internal and external customers of the Maples Group. You will collaborate closely with software engineers, QA engineers, infrastructure engineers, product owners, scrum masters, business analysts, and business stakeholders to create reliable, well-designed products that deliver real business value.
Consistently recognized as one of Montreal’s Top Employers, the Maples Group established our operations in the central downtown area in 2009. Our Montreal office exemplifies our culturally rich and entrepreneurial organization, with over 500 colleagues from 50 countries collaborating to deliver best-in-class solutions to clients worldwide.
As part of our Montreal team you will:
-
Work with business analysts and stakeholders to understand business needs, clarify requirements, and help ensure we deliver the highest possible business value.
-
Collaborate with the Scrum team to refine backlog items, define acceptance criteria, estimate work, and break larger items into deliverable sprint tasks.
-
Design, develop, test, and deliver high-quality software throughout the sprint cycle.
-
Design and build REST APIs, integrations, and application services that are secure, maintainable, and scalable.
-
Work with relational and non-relational databases to design and support resilient data solutions.
-
Build and support cloud-based solutions on Microsoft Azure.
-
Contribute to CI/CD pipelines, release automation, and Infrastructure as Code practices using Azure DevOps and related tooling.
-
Participate in design discussions and code reviews to improve quality, maintainability, performance, and engineering standards across the team.
-
Help maintain, support, and improve existing applications, including pragmatic modernization where it adds value.
-
Share coding best practices, support junior developers, and contribute to a strong engineering culture within the team.
-
Use AI-assisted development tools thoughtfully and help explore practical applications of agentic AI where they can improve delivery or developer effectiveness.
What You Bring
In addition to strong integrity, sound judgment, and the ability to work with a high degree of ownership, the ideal candidate possesses the following:
-
7+ years of software development experience.
-
Strong hands-on experience with C#, .NET, ASP.NET, Entity Framework, and modern front-end development using Angular and/or React along with TypeScript/JavaScript.
-
A solid foundation in data structures, object-oriented programming, design patterns, and software engineering fundamentals, with the judgment to apply them pragmatically.
-
Experience designing and building REST APIs and modern application services.
-
Strong experience building high-quality, well-tested software, including unit testing and automated quality practices as part of CI/CD workflows.
-
Practical experience with Azure DevOps, CI/CD pipelines, and Infrastructure as Code in Azure environments.
-
Practical experience with Azure services such as App Services, Azure Functions, Service Bus, and Storage Accounts.
-
Experience working with relational and non-relational databases, including SQL Server, Cosmos DB, Redis, and MongoDB.
-
Experience delivering software in Agile teams using Scrum or similar methodologies, with close collaboration across product, QA, infrastructure, and business teams.
-
Strong problem-solving skills, a collaborative mindset, and a practical, delivery-oriented approach to building software.
Desirable Skills:
Any of the following would be an asset, but they are not required:
-
Knowledge of Domain-Driven Design (DDD), CQRS, microservices, and message-based or event-driven architectures.
-
Experience designing or contributing to distributed systems, including service orchestration and resilience patterns.
-
Experience modernizing legacy .NET or monolithic applications into cloud-ready or more modular architectures on Azure.
-
Experience with AI-assisted development tools and an interest in practical uses of agentic AI in software delivery.
You can learn more about the Maples Group on our corporate website. Experience our culture and our people on our Careers Page or on LinkedIn.
Disclaimer: All personal information collected during the application process will be used for recruitment-related purposes only. Please refer to our Job Applicant Privacy Notice at maples.com/privacy for details on how we handle personal information relating to job applicants.
Poste : Développeur de logiciels principal
Emplacement : Montréal, Canada
Comment est-ce de travailler ici?
Nous sommes déterminés à exceller et la collaboration est la clé de notre succès continu. Nous pouvons aller plus loin pour nos clients parce que nous allons aussi plus loin les uns pour les autres. Notre culture inclusive crée un environnement où les gens peuvent être eux-mêmes au travail, tout en donnant leur meilleur. Quel que soit votre lieu de travail au sein du Groupe Maples, vous ferez partie d’une équipe mondiale.
L’occasion
Nous recherchons un développeur de logiciels principal accompli pour se joindre à notre équipe Technologie de gestion au sein de notre activité de services financiers à Montréal.
Le développeur de logiciels principal relève du responsable du développement et de l’architecture logiciels. Ce poste consiste à travailler au sein d’une équipe Scrum pour développer des solutions logicielles de grande qualité pour les clients internes et externes du Groupe Maples. Vous collaborerez étroitement avec les ingénieurs logiciels, les ingénieurs en assurance qualité, les ingénieurs en infrastructure, les responsables de produits, les maîtres de Scrum, les analystes d’affaires et les parties prenantes de l’entreprise pour créer des produits fiables et bien conçus qui apportent une réelle valeur commerciale.
Constamment reconnu comme l’un des meilleurs employeurs de Montréal, le Groupe Maples a établi ses activités dans le centre-ville en 2009. Notre bureau de Montréal illustre bien la richesse culturelle et l’esprit d’entreprise de notre organisation, avec plus de 500 collègues de 50 pays qui collaborent pour offrir les meilleures solutions à des clients du monde entier. En tant que membre de notre équipe de Montréal, vos responsabilités seront les suivantes :
-
Travailler avec les analystes d’affaires et les parties prenantes pour comprendre les besoins de l’entreprise, clarifier les exigences et contribuer à garantir que nous offrons la plus grande valeur commerciale possible.
-
Collaborer avec l’équipe Scrum pour affiner les éléments du carnet de produits, définir les critères d’acceptation, estimer le travail et diviser les éléments plus importants en tâches de sprint livrables.
-
Concevoir, développer, tester et livrer des logiciels de grande qualité tout au long du cycle de sprint.
-
Concevoir et créer des API REST, des intégrations et des services d’application sécurisés, maintenables et évolutifs.
-
Travailler avec des bases de données relationnelles et non relationnelles pour concevoir et prendre en charge des solutions de données résilientes.
-
Construire et soutenir des solutions en nuage sur Microsoft Azure.
-
Contribuer aux pipelines CI/CD, à l’automatisation des versions et aux pratiques d’infrastructure en tant que code à l’aide d’Azure DevOps et des outils connexes.
-
Participer aux discussions sur la conception et aux revues de code pour améliorer la qualité, la maintenabilité, la performance et les normes d’ingénierie au sein de l’équipe.
-
Aider à maintenir, à soutenir et à améliorer les applications existantes, y compris la modernisation pragmatique lorsqu’elle ajoute de la valeur.
-
Transmettre les pratiques exemplaires en matière de codage, soutenir les développeurs débutants et contribuer à une solide culture d’ingénierie au sein de l’équipe.
-
Utiliser judicieusement les outils de développement assistés par l’IA et aider à explorer les applications pratiques de l’IA agentique là où elles peuvent améliorer la livraison ou l’efficacité des développeurs.
Votre contribution
Outre une intégrité sans faille, un jugement sûr et la capacité de travailler avec un haut degré d'autonomie, le candidat idéal possédera les caractéristiques suivantes :
-
Plus de 7 ans d’expérience en développement de logiciels.
-
Une solide expérience pratique avec C#, .NET, ASP.NET, Entity Framework et les premières phases du cycle de développement modernes à l’aide d’Angular ou de React, ainsi que de TypeScript ou JavaScript.
-
Une base solide en structures de données, en programmation orientée objet, en modèles de conception et en principes fondamentaux du génie logiciel, avec le jugement nécessaire pour les appliquer de manière pragmatique.
-
De l’expérience dans la conception et la création d’API REST et de services d’application modernes.
-
Une solide expérience dans la création de logiciels de grande qualité et bien testés, y compris les tests unitaires et les pratiques de qualité automatisées dans le cadre des flux de travail CI/CD.
-
Expérience pratique avec Azure DevOps, les pipelines CI/CD et l’infrastructure en tant que code dans les environnements Azure.
-
Expérience pratique avec les services Azure tels que App Services, Azure Functions, Service Bus et Storage Accounts.
-
Expérience de travail avec des bases de données relationnelles et non relationnelles, y compris SQL Server, Cosmos DB, Redis et MongoDB.
-
Expérience dans la livraison de logiciels au sein d’équipes Agile utilisant Scrum ou des méthodologies similaires, en étroite collaboration avec les équipes produit, assurance qualité, infrastructure et commerciales.
-
De solides compétences en résolution de problèmes, un esprit de collaboration et une approche pratique et axée sur la livraison pour la création de logiciels.
Compétences souhaitées :
L’un des éléments suivants serait un atout, mais ils ne sont pas requis :
-
Connaissance de la conception axée sur les domaines, du CQRS, des microservices et des architectures fondées sur les messages ou axées sur les événements.
-
Expérience dans la conception ou la contribution à des systèmes distribués, y compris l’orchestration de services et les modèles de résilience.
-
Expérience de la modernisation d’applications .NET ou monolithiques existantes en architectures prêtes pour le nuage ou plus modulaires sur Azure.
-
Expérience avec les outils de développement assistés par l’IA et intérêt pour les utilisations pratiques de l’IA agentique dans la livraison de logiciels.
Vous pouvez en savoir plus sur le Groupe Maples sur notre site Web d’entreprise. Découvrez notre culture et notre équipe sur notre page Carrières ou sur LinkedIn.
Clause de non-responsabilité : tous les renseignements personnels recueillis au cours du processus de candidature seront utilisés uniquement aux fins de recrutement. Veuillez consulter notre avis sur la protection de la vie privée des candidats à un emploi à l’adresse maples.com/privacy pour en savoir plus sur la manière dont nous gérons les renseignements personnels des candidats à un emploi.