Job Description:
Sous la supervision du gestionnaire du groupe Logiciel et au sein de l'équipe Recherche et Développement, vous jouerez un rôle clé dans la conception, le développement et l'évolution de la prochaine génération de la plateforme de tests réseaux et Ethernet/IP d'EXFO..
Il s'agit d'une occasion unique de joindre une équipe produit hautement collaborative, animée par une culture DevOps, afin de contribuer à la création d'un produit stratégique en utilisant des technologies modernes, des pratiques infonuagiques (cloud-native) et des méthodes de développement Agile.
À titre de développeur logiciel senior, vous contribuerez non seulement au développement de solutions logicielles de grande qualité, mais vous participerez également aux décisions d'architecture, accompagnerez les membres de l'équipe dans leur développement, favoriserez l'excellence technique et contribuerez à l'évolution stratégique du produit.
Vous collaborerez étroitement avec les équipes de gestion de produit, assurance qualité, DevOps, expérience utilisateur (UX) et les autres équipes de développement afin de transformer les besoins des clients en solutions robustes, évolutives et durables.
Ce poste est offert selon un mode de travail hybride.
À titre de membre senior d'une équipe Agile Scrum, vous serez appelé à :
- Concevoir, développer et maintenir des solutions logicielles performantes, évolutives et de haute qualité.
- Contribuer aux décisions d'architecture ainsi qu'à l'orientation technique du produit.
- Promouvoir la qualité logicielle par l'application des meilleures pratiques d'ingénierie, des tests automatisés et des revues de code.
- Participer à l'amélioration continue des processus de développement, des outils et des pratiques DevOps.
- Diagnostiquer et résoudre des problèmes techniques complexes touchant différentes composantes du système.
- Équilibrer les objectifs de livraison à court terme avec la maintenabilité et la pérennité des solutions.
- Accompagner et soutenir les développeurs par le mentorat, les revues de code et le partage des connaissances.
- Favoriser une culture d'ingénierie axée sur la collaboration, l'apprentissage continu, la responsabilisation et l'amélioration constante.
- Participer activement aux discussions de conception et remettre en question les approches de façon constructive.
- Identifier les risques techniques en amont et proposer des stratégies de mitigation réalistes.
Nous recherchons des développeurs qui :
- privilégient la réussite de l'équipe avant la performance individuelle;
- livrent rapidement de la valeur au client par des incréments fonctionnels et testables;
- accordent une grande importance à la stabilité des solutions et à la qualité du logiciel;
- favorisent la collaboration et la communication directe afin de simplifier les échanges et d'améliorer l'alignement;
- cherchent constamment à améliorer l'efficacité, la qualité et l'expérience de développement;
- prennent pleinement en charge leurs réalisations, de la conception jusqu'à la mise en production.
- Solide maîtrise des principes de conception orientée objet et de l'architecture logicielle.
- Excellente expérience en développement avec C# et .NET Core .
- Expérience dans le développement et l'intégration d'API REST.
- Bonne connaissance des patrons de conception (Design Patterns), des principes de Clean Code et des pratiques modernes de développement logiciel.
- Expérience avec les tests automatisés et les approches axées sur la qualité.
- Maîtrise des flux de développement basés sur Git ainsi que des revues de code.
Une expérience dans un ou plusieurs des domaines suivants constitue un atout important :
- Développement d'applications avec Flutter ;
- Conteneurs Docker et environnements conteneurisés;
- DevOps, pipelines CI/CD et automatisation de l'infrastructure;
- Réseautique, transmission de données, protocoles de transport ou produits de télécommunications.
Nous recherchons un professionnel expérimenté qui démontre :
- un fort sens des responsabilités et de l'imputabilité;
- d'excellentes capacités d'analyse et de résolution de problèmes;
- la capacité d'évoluer dans un contexte d'ambiguïté et de prendre des décisions techniques éclairées;
- d'excellentes aptitudes en communication et en collaboration;
- une attention soutenue à la qualité, à la maintenabilité des solutions et à la valeur livrée au client;
- la capacité d'influencer les orientations techniques grâce à son expertise;
- une volonté constante d'amélioration et une passion pour l'excellence en ingénierie;
- la capacité de faire progresser les membres de son équipe par le mentorat et le partage de ses connaissances.
- Baccalauréat en génie logiciel, génie informatique, informatique ou toute combinaison équivalente de formation et d'expérience.
- De 8 à 15 années d'expérience en développement logiciel.
- Expérience démontrée dans la livraison de produits logiciels complexes au sein d'équipes multidisciplinaires.
- Bilinguisme (français et anglais, tant à l'oral qu'à l'écrit).
- Autorisation légale de travailler au Canada.
La connaissance de l’anglais est requise pour ce poste, puisque ses responsabilités impliquent des échanges fréquents, tant à l’oral qu’à l’écrit, avec des clients, partenaires, fournisseurs ou collègues situés à l’extérieur du Québec.
- Participer à la création d'un produit stratégique appelé à transformer son marché.
- Influencer l'architecture et les orientations techniques dès les premières phases du développement.
- Collaborer avec des ingénieurs expérimentés dans un environnement de développement moderne.
- Contribuer à des solutions utilisées par les plus importantes organisations des secteurs des télécommunications et des réseaux à l'échelle mondiale.
- Avoir un impact concret sur le succès du produit, la satisfaction des clients et l'évolution de la culture d'ingénierie de l'équipe.
-
What You'll Do
As a senior member of an Agile Scrum team, you will:
Technical Leadership
- Design, develop, and maintain high-quality, scalable software solutions.
- Contribute to architectural decisions and technical strategy for the product.
- Drive software quality through sound engineering practices, automated testing, and code reviews.
- Participate in the continuous improvement of development processes, tooling, and DevOps practices.
- Troubleshoot and resolve complex technical issues across multiple layers of the system.
- Balance short-term delivery objectives with long-term maintainability and technical excellence.
Team Contribution
- Mentor and coach developers through knowledge sharing, code reviews, and technical guidance.
- Foster a collaborative engineering culture focused on learning, accountability, and continuous improvement.
- Actively contribute to design discussions and challenge assumptions constructively.
- Help identify technical risks early and propose practical mitigation strategies.
Agile Mindset
We value developers who:
- Prioritize team outcomes over individual achievement.
- Focus on delivering customer value through small, testable increments.
- Maintain a strong commitment to build stability and software quality.
- Prefer collaboration and direct communication to reduce complexity and increase alignment.
- Continuously seek opportunities to improve efficiency, quality, and developer experience.
- Take ownership and follow through from concept to production.
What We're Looking For
Technical Skills
- Strong expertise in object-oriented design principles and software architecture.
- Extensive experience developing applications using C# and .NET Core .
- Experience building and consuming RESTful APIs.
- Solid understanding of software design patterns, clean code principles, and modern development practices.
- Experience with automated testing frameworks and quality-driven development approaches.
- Experience with Git-based development workflows and code review practices.
Strong Assets
Experience in one or more of the following areas will be considered a significant asset:
- Flutter application development.
- Docker containers and containerized environments.
- DevOps, CI/CD pipelines, and infrastructure automation.
- Networking, datacom, transport protocols, or telecommunications products.
Required Qualities
We are looking for an experienced professional who demonstrates:
- Strong ownership and accountability.
- Excellent problem-solving and analytical skills.
- Ability to navigate ambiguity and make sound technical decisions.
- Strong communication and collaboration skills.
- Attention to quality, maintainability, and customer value.
- Ability to influence technical direction through expertise rather than authority.
- A continuous improvement mindset and passion for engineering excellence.
- Ability to mentor and elevate the performance of the team around them.
Must Have
- Bachelor's degree in Software Engineering, Computer Engineering, Computer Science, or equivalent experience.
- 8–15 years of professional software development experience.
- Proven experience delivering complex software products in a collaborative environment.
- Bilingual (French and English, spoken and written).
- Legally authorized to work in Canada.
Why Join Us?
- Help build a strategic product from the ground up.
- Influence architecture and technical direction from day one.
- Work alongside experienced engineers in a modern development environment.
- Contribute to products used by leading telecommunications and networking organizations worldwide.
- Make a visible impact on product success, customer value, and the engineering culture of the team.
EXFO is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees.