Concepteur(trice) logiciel sénior
EXFO inc
Job Description
Description du poste :
Titre du poste : Concepteur(trice) logiciel sénior
Lieu : Montréal, QC (mode hybride)
Type de poste : Permanent, temps plein
À propos d'EXFOEXFO est un chef de file mondial en matière de solutions intelligentes de test, de surveillance et d’analyse de réseaux. Nos technologies soutiennent les plus grands fournisseurs de services de télécommunications, fabricants d’équipements réseau et fournisseurs de services Web à travers le monde.
Présente dans plus de 25 pays et comptant plus de 2 000 employés, EXFO est le leader mondial des tests de fibre optique et possède le plus important déploiement de solutions d’assurance de services actifs. Nos solutions matérielles et logicielles permettent à nos clients d’accélérer les transformations technologiques liées à la fibre optique, à la 5G, à la virtualisation, à l’Internet des objets (IoT) et à l’analytique des données.
Sommaire du rôleSous 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.
À titre de Concepteur(trice) logiciel sénior, vous évoluerez au sein d’une équipe produit hautement collaborative, animée par une culture DevOps et des méthodes de développement Agile. Vous contribuerez au développement d’un produit stratégique en utilisant des technologies modernes et des pratiques infonuagiques (cloud-native).
Vous participerez activement aux décisions d’architecture et aux orientations techniques du produit, tout en accompagnant les membres de l’équipe dans leur développement et en favorisant l’excellence technique. Vous collaborerez étroitement avec les équipes de gestion de produit, d’assurance qualité, DevOps, d’expérience utilisateur (UX) et les autres équipes de développement afin de transformer les besoins des clients en solutions robustes, évolutives et durables.
Responsabilités principales- 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.
- Prendre en charge les réalisations de la conception jusqu’à la mise en production.
- Collaborer avec les équipes multidisciplinaires afin de livrer rapidement de la valeur au client par des incréments fonctionnels et testables.
- Effectuer toute autre tâche connexe au besoin.
- 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 professionnelle en développement logiciel.
- 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 de développement axées sur la qualité.
- Maîtrise des flux de développement basés sur Git ainsi que des pratiques de revue de code.
- Expérience démontrée dans la livraison de produits logiciels complexes au sein d’équipes multidisciplinaires.
- Excellentes capacités d’analyse et de résolution de problèmes.
- Capacité à évoluer dans un contexte d’ambiguïté et à prendre des décisions techniques éclairées.
- Fort sens des responsabilités et de l’imputabilité.
- Excellentes aptitudes en communication, en collaboration et en travail d’équipe.
- Capacité à influencer les orientations techniques grâce à son expertise.
- Capacité à accompagner et à faire progresser les membres de l’équipe par le mentorat et le partage des connaissances.
- Souci marqué de la qualité, de la maintenabilité des solutions et de la valeur livrée au client.
- Bilinguisme (français et anglais), à l’oral et à l’écrit.
- Autorisation légale de travailler au Canada.
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.
- Développement de solutions infonuagiques (cloud-native).
- Joignez-vous à un chef de file mondial des technologies de télécommunications.
- Participez à la création d’un produit stratégique appelé à transformer son marché.
- Influencez l’architecture et les orientations techniques dès les premières phases du développement.
- Travaillez avec des technologies modernes dans un environnement Agile et DevOps.
- Collaborez avec des ingénieurs expérimentés au sein d’un environnement multidisciplinaire et stimulant.
- Contribuez à des solutions utilisées par les plus importantes organisations des secteurs des télécommunications et des réseaux à l’échelle mondiale.
- Ayez 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.
- Profitez d’un mode de travail hybride ainsi que d’excellentes possibilités de développement professionnel et d’évolution de carrière.
- Bénéficiez d’une gamme complète d’avantages sociaux.
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.
EXFO souscrit au principe de l’égalité d’accès à l’emploi. Nous valorisons la diversité et nous nous engageons à créer un environnement de travail inclusif pour l’ensemble de nos employés.
------------------------------------------------------------
Job Title: Senior Software Designer
Location: Montreal, QC (Hybrid)
Position Type: Permanent, Full-Time
About EXFOEXFO is a global leader in intelligent test, monitoring, and analytics solutions for the telecommunications industry. Our technologies support the world's leading communication service providers, network equipment manufacturers, and cloud service providers.
With more than 2,000 employees across 25 countries, EXFO is the global leader in fiber optic testing and the world's largest provider of active service assurance solutions. Our hardware and software solutions help customers accelerate technology transformations related to fiber optics, 5G, virtualization, the Internet of Things (IoT), and advanced analytics.
Position SummaryReporting to the Software Group Manager and working within the Research and Development team, you will play a key role in the design, development, and evolution of EXFO's next-generation network and Ethernet/IP testing platform.
As a Senior Software Designer, you will join a highly collaborative product team driven by a DevOps culture and Agile development practices. You will contribute to the development of a strategic product using modern technologies and cloud-native practices.
You will actively contribute to architectural decisions and the technical direction of the product while mentoring team members and promoting engineering excellence. You will work closely with Product Management, Quality Assurance, DevOps, User Experience (UX), and other development teams to transform customer needs into robust, scalable, and sustainable software solutions.
Key Responsibilities- Design, develop, and maintain high-quality, scalable software solutions.
- Contribute to architectural decisions and the technical strategy of 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.
- 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.
- Identify technical risks early and propose practical mitigation strategies.
- Take ownership of solutions from initial concept and design through to production.
- Collaborate with multidisciplinary teams to deliver customer value through small, functional, and testable increments.
- Perform other related duties as required.
- Bachelor's degree in Software Engineering, Computer Engineering, Computer Science, or equivalent education and experience.
- 8-15 years of professional software development experience.
- 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 software development practices.
- Experience with automated testing frameworks and quality-driven development approaches.
- Experience with Git-based development workflows and code review practices.
- Proven experience delivering complex software products within multidisciplinary teams.
- Excellent analytical and problem-solving skills.
- Ability to navigate ambiguity and make sound technical decisions.
- Strong sense of ownership and accountability.
- Excellent communication, collaboration, and teamwork skills.
- Ability to influence technical direction through expertise.
- Ability to mentor, coach, and elevate the performance of other team members.
- Strong commitment to software quality, maintainability, and customer value.
- Fluent in both French and English, spoken and written.
- Legally authorized to work in Canada.
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, data communications, transport protocols, or telecommunications products.
- Cloud-native software development.
- Join a global leader in telecommunications technology.
- Help build a strategic product positioned to transform its market.
- Influence architecture and technical direction from the early stages of development.
- Work with modern technologies in an Agile and DevOps environment.
- Collaborate with experienced engineers in a multidisciplinary and stimulating environment.
- Contribute to solutions used by leading telecommunications and networking organizations worldwide.
- Make a visible impact on product success, customer value, and the engineering culture of the team.
- Benefit from a flexible hybrid work model and excellent opportunities for professional growth and career development.
- Enjoy a comprehensive benefits package.
English is required for this position, as the role involves frequent verbal and written communication with customers, partners, suppliers, and colleagues located outside of Quebec.
EXFO is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees.
EXFO est un employeur qui souscrit au principe de l'égalité d'accès à l'emploi. Nous valorisons la diversité et nous nous engageons à créer un environnement inclusif pour tous nos employés.