Senior C#/.Net

Maarut

Montreal
Compétences recherchées — Connectez-vous et téléversez votre CV pour comparer avec votre profil
C# .NET Git +6 autres

Détails du poste

  • Lieu de travail : Montreal
  • Type de poste : Permanent à temps plein

Description du poste

Nous recherchons un(e) Développeur(se) Senior C# / .NET pour rejoindre une équipe d’ingénierie performante en charge de solutions logicielles complexes et axées sur la donnée. Le poste requiert une expertise approfondie du développement .NET moderne et une expérience avérée dans la conception de systèmes distribués résilients fonctionnant à grande échelle. Il s’agit d’un poste d’ingénierie concret (hands-on) axé sur la livraison technique — concevoir, développer et maintenir des services backend propres, fiables et prêts pour la production. Le/la candidat(e) idéal(e) est pragmatique, orienté(e) qualité et s’épanouit dans des environnements rapides où l’attention aux détails et une exécution constante font la différence.

Principales responsabilités

  • Concevoir, développer et maintenir des services backend et des API à haute performance en utilisant C# et .NET moderne (.NET Core, .NET 5/6+) dans un environnement de systèmes distribués
  • Construire et faire évoluer des microservices résilients et évolutifs ainsi que des architectures événementielles traitant de grandes quantités de données de manière fiable
  • Collaborer avec des équipes pluridisciplinaires, notamment des architectes, des chefs de produit et des ingénieurs QA, afin de définir les exigences techniques et de livrer des solutions répondant aux objectifs métier
  • Garantir la qualité du code via des tests unitaires, d’intégration et de performance rigoureux, en respectant la Definition of Done de l’équipe et les standards d’ingénierie
  • Participer activement aux revues de code, aux discussions d’architecture et à la prise de décision technique, contribuant ainsi à l’amélioration continue des pratiques d’ingénierie
  • Identifier, diagnostiquer et résoudre les goulots d’étranglement de performance, les défaillances système et la dette technique en environnements de production et pré-production
  • Contribuer à la conception et à la mise en œuvre de pipelines de données et de workflows de traitement pour de grands ensembles de données
  • Documenter les conceptions techniques, les API et le comportement des systèmes afin d’assurer le partage des connaissances et la maintenabilité à long terme

Exigences

Compétences et qualifications requises (indispensable)

  • Diplôme de premier cycle ou supérieur en informatique, ingénierie, finance ou domaine connexe
  • 7+ années d’expérience pratique en développement logiciel avec une forte maîtrise de C# et des frameworks .NET modernes (.NET Core, .NET 5 ou .NET 6+)
  • Expérience avérée dans la conception et la création de systèmes distribués résilients (microservices, architectures événementielles, files de messages)
  • Capacité démontrée à travailler efficacement avec de grandes quantités de données, y compris des pipelines de traitement et des systèmes à haut débit
  • Engagement à produire un code de haute qualité, propre, maintenable et bien testé, avec un fort accent sur la lisibilité et la capacité de support à long terme
  • Expérience avec la conception et le développement d’API RESTful, y compris l’intégration avec des services tiers et des composants de plateforme internes
  • Bonne compréhension des meilleures pratiques d’ingénierie logicielle : principes SOLID, design patterns, pipelines CI/CD et gestion de version (Git)
  • Orientation délais, sens du détail et résultats — capable de manière constante de respecter des standards de qualité élevés tout en gérant plusieurs tâches et priorités simultanément
  • Anglais niveau professionnel (écrit et oral) pour la communication orientée client et la documentation technique

Compétences interpersonnelles (Soft Skills)

  • Très pragmatique et orienté livraison — motivé(e) par les résultats, pas seulement par l’élégance technique
  • Bon(ne) communicateur(trice) capable d’expliquer clairement des concepts techniques complexes à la fois à des pairs ingénieurs et à des parties prenantes non techniques
  • Proactif(ve) dans l’identification des risques, dépendances et blocages techniques, avec une préférence pour leur résolution
  • Coéquipier(ère) collaboratif(ve) qui développe la confiance à travers des équipes distribuées et pluridisciplinaires
  • Orienté(e) détail et organisé(e), en particulier autour de la qualité du code, de la couverture de tests et de la documentation technique
  • Résilient(e) et adaptable dans des environnements de livraison rapides et complexes avec des exigences évolutives

Qualifications préférées / Atouts (Nice-to-Have)

  • Expérience dans un environnement Capital Markets ou FinTech, avec une familiarité avec les modèles de données financiers ou les workflows de trading
  • Connaissances en systèmes de Risk et/ou intégration de modèles de pricing
  • Passion pour la technologie et la conception de logiciels à grande échelle, y compris l’intérêt pour l’architecture des systèmes et l’ingénierie à grande échelle
  • Expérience pratique avec le Java de base et Spring Boot, ou volonté démontrée d’apprendre et d’appliquer Java dans un environnement polyglotte
  • Expérience avec des outils, frameworks ou intégrations de Gen AI (Generative AI) au sein de produits logiciels
  • Connaissance des plateformes cloud (AWS, Azure ou GCP) et de l’orchestration de conteneurs (Docker, Kubernetes)
  • Exposition aux modèles de livraison nearshore ou offshore avec des équipes internationales distribuées