Senior Software Developer / Développeur de logiciels principal
Maples Group
Poste : Développeur de logiciels principal
Emplacement : Montréal, Canada
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 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.
Reference: WJ-3875_12097839