Job Description
Ingénieur en développement logiciel de tests (SDET)
Plateformes de surveillance de la fibre et de visibilité réseau
À propos de nous
Nous développons des plateformes critiques de surveillance de la fibre et de visibilité réseau utilisées par de grands opérateurs de télécommunications et fournisseurs de centres de données partout dans le monde. Nos solutions permettent la surveillance en temps réel des réseaux de fibres optiques, notamment la détection et la localisation des défauts, l’analyse de la dégradation du signal et l’assurance de service, dans les réseaux extérieurs (OSP), les centres de données et les environnements DCI.
Notre plateforme logicielle repose sur une architecture de microservices conteneurisés, fonctionne principalement sous Linux et est déployée dans des environnements sur site, infonuagiques et hybrides. La fiabilité, l’évolutivité, la performance et l’excellence opérationnelle sont au cœur de nos activités.
Le rôle
Nous recherchons un ingénieur en développement logiciel de tests (SDET) possédant de 5 à 7 ans d’expérience afin de concevoir, développer et faire évoluer les capacités de tests automatisés au cœur de nos plateformes de surveillance de la fibre.
Vous travaillerez sur les tests manuels et exploratoires, l’automatisation des tests, les pipelines CI/CD, les systèmes distribués, les API, les intégrations, les flux de bout en bout et la validation des performances. Dans notre contexte, où la couverture automatisée est encore en développement, les tests manuels constituent une responsabilité essentielle et le fondement de toute automatisation pertinente. Le titulaire devra d’abord comprendre en profondeur le domaine de la surveillance de la fibre, les cas d’utilisation des clients et le comportement du système avant de concevoir ou d’automatiser les scénarios de test. Ce rôle combine l’ingénierie logicielle, l’ingénierie de la qualité et les pratiques DevOps.
Principales responsabilités
- Concevoir, développer et maintenir des cadres de tests automatisés pour les API, les microservices, les applications Web, les intégrations et les flux système.
- Automatiser les tests fonctionnels, d’intégration, de régression, de bout en bout (E2E) et de performance.
- Intégrer les suites de tests automatisés, les contrôles de qualité, les rapports et la validation des versions aux pipelines CI/CD.
- Créer et maintenir les environnements de test, les données de test, les objets simulés, les simulateurs et l’infrastructure de test conteneurisée.
- Créer et exécuter des tests de charge, de stress, d’endurance, d’évolutivité et de régression des performances.
- Analyser les goulots d’étranglement et collaborer avec les développeurs et les ingénieurs DevOps afin de prévenir les régressions de performance.
- Valider les flux de travail entre les services distribués, les conteneurs, les bases de données, les composants réseau et les interfaces proches du matériel.
- Effectuer des tests manuels, exploratoires, d’utilisabilité et de mise en production afin de comprendre le produit, valider les comportements attendus et établir des scénarios de test fiables avant leur automatisation.
- Développer une compréhension approfondie de la surveillance de la fibre, des flux opérationnels et des cas d’utilisation des clients afin de déterminer quoi automatiser, à quel niveau et avec quels résultats attendus.
- Analyser les défaillances des pipelines et des tests, distinguer les défauts du produit des problèmes d’automatisation ou d’infrastructure et améliorer la stabilité des tests.
- Participer aux discussions d’architecture ainsi qu’aux revues de conception, de code et de tests.
- Collaborer étroitement avec les équipes Produit, Développement, DevOps, Soutien et les autres ingénieurs afin de livrer des fonctionnalités fiables et à valeur ajoutée.
Compétences techniques requises
- De 5 à 7 ans d’expérience professionnelle en développement logiciel, ingénierie de la qualité, automatisation des tests ou dans un rôle de SDET.
- Solides compétences en programmation ou en script avec Java, JavaScript/TypeScript, Python, Go ou des langages comparables.
- Expérience approfondie dans le développement et la maintenance de cadres de tests automatisés dans des environnements logiciels de production.
- Expérience des tests d’API REST, de microservices, d’applications Web et d’intégrations de systèmes.
- Capacité et volonté d’acquérir une compréhension approfondie du domaine de la surveillance de la fibre et de valider manuellement les scénarios avant de les automatiser.
- Bonne compréhension de la conception des tests, de l’architecture d’automatisation, de la stratégie de régression, de l’isolation des défauts et des tests fondés sur les risques.
- Expérience pratique démontrée en automatisation de tests E2E dans des systèmes distribués ou comportant plusieurs composants.
- Expérience pratique démontrée en tests de performance, notamment les tests de charge, de stress, d’endurance et d’évolutivité, ainsi que l’analyse des résultats.
- Expérience pratique démontrée avec Docker et les environnements de test ou d’application conteneurisés.
- À l’aise dans les environnements Linux.
- Maîtrise de Git et des méthodes de développement collaboratif.
- Bonne compréhension de la concurrence, des réseaux, du traitement asynchrone et des considérations de performance propres aux systèmes distribués.
DevOps, CI/CD et ingénierie de la qualité
- Expérience de l’intégration des tests automatisés aux pipelines CI/CD.
- Expérience de l’intégration continue, des pipelines sous forme de code, des contrôles de qualité automatisés et de la production de rapports de tests exploitables.
- Capacité à définir des étapes de test qui équilibrent rapidité, couverture, stabilité et confiance envers les versions.
- Expérience de l’exécution de tests aux étapes des demandes de tirage, de l’intégration, des exécutions nocturnes, de la mise en production et de la validation dans des environnements représentatifs de la production.
- Connaissance de l’infrastructure sous forme de code, de l’orchestration de conteneurs et du provisionnement automatisé des environnements.
- Orientation marquée vers la réduction des tests instables, le raccourcissement des boucles de rétroaction et l’amélioration de la maintenabilité de l’automatisation.
Observabilité et opérations
- Expérience de la journalisation, de la surveillance, des métriques, du traçage distribué et des alertes pour l’analyse des tests et du produit.
- Capacité à diagnostiquer et à analyser les problèmes touchant plusieurs services, conteneurs, bases de données, interfaces réseau et couches d’infrastructure.
- Compréhension des concepts de fiabilité en production et de la manière dont les données opérationnelles peuvent améliorer la couverture automatisée.
Atouts
- Expérience avec Selenium, Playwright, Cypress, REST Assured, Postman/Newman, JMeter, Gatling, k6 ou des outils équivalents.
- Expérience avec Kubernetes, Docker Swarm, les plateformes infonuagiques ou les environnements de déploiement hybrides.
- Connaissance des tests de sécurité, de résilience, de chaos, de contrats ou de la virtualisation de services.
- Expérience des systèmes embarqués, des tests avec matériel dans la boucle ou des systèmes proches du matériel.
- Expérience en télécommunications, en surveillance de réseaux ou en réseaux de fibres optiques.
- Connaissance des architectures événementielles et des systèmes distribués en temps réel ou quasi réel.
- Compréhension ou expérience pratique des assistants de programmation fondés sur l’IA générative et des outils de développement basés sur des agents afin d’accélérer la création, l’analyse et la maintenance des tests, avec une revue d’ingénierie et une gouvernance appropriées.
Compétences interpersonnelles et état d’esprit
- Naturellement curieux et motivé à comprendre en profondeur le comportement des systèmes.
- Autonome et proactif, capable de prendre en charge les améliorations de la qualité, de la conception à la livraison.
- Solides compétences en analyse, en débogage et en résolution de problèmes.
- Excellentes aptitudes en communication et capacité à collaborer avec différentes équipes.
- Normes de qualité élevées et fort sentiment de responsabilité envers la fiabilité du produit.
- Approche pragmatique qui équilibre l’automatisation, les tests manuels, la rapidité de livraison et les risques d’affaires.
- Esprit d’équipe et attitude proactive.
Exigences
- Baccalauréat en génie logiciel, en informatique ou expérience professionnelle équivalente.
- Maîtrise du français et de l’anglais requise.
- Autorisation légale de travailler au Canada.
La connaissance de l’anglais est requise pour ce poste afin de communiquer régulièrement, à l’oral et à l’écrit, avec des collègues, partenaires et clients situés à l’extérieur du Québec.
Ce que nous offrons
- Salaire concurrentiel et programme complet d’avantages sociaux.
- Environnement de travail hybride et flexible.
- Occasion de travailler sur des infrastructures réelles à l’échelle mondiale.
- Culture d’ingénierie collaborative et pragmatique.
- Feuille de route produit à long terme comportant des défis techniques significatifs.
- Possibilités d’apprentissage continu et de développement professionnel.
Software Development Engineer in Test (SDET)
Fiber Monitoring & Network Visibility Platforms
About Us
We build mission-critical fiber monitoring and network visibility platforms used by leading telecommunications operators and data center providers worldwide. Our solutions enable real-time monitoring of fiber-optic networks, including fault detection and localization, signal degradation analysis, and service assurance across outside plant (OSP), data centers, and DCI environments.
Our software platform is based on a containerized microservices architecture, runs primarily on Linux, and is deployed in on-premises, cloud, and hybrid environments. Reliability, scalability, performance, and operational excellence are at the core of what we do.
The Role
We are looking for a Software Development Engineer in Test (SDET) with 5 to 7 years of experience to design, develop, and evolve the automated testing capabilities at the heart of our fiber monitoring platforms.
You will work across manual and exploratory testing, test automation, CI/CD pipelines, distributed systems, APIs, integrations, end-to-end workflows, and performance validation. In our context, where automated coverage is still developing, manual testing is an essential responsibility and the foundation for meaningful automation. The successful candidate must first develop a deep understanding of the fiber monitoring domain, customer use cases, and system behavior before designing or automating test scenarios. This role combines software engineering, quality engineering, and DevOps practices.
Key Responsibilities
- Design, develop, and maintain automated test frameworks for APIs, microservices, web applications, integrations, and system-level workflows.
- Automate functional, integration, regression, end-to-end (E2E), and performance tests.
- Integrate automated test suites, quality gates, reporting, and release validation into CI/CD pipelines.
- Build and maintain test environments, test data, mocks, simulators, and containerized test infrastructure.
- Create and execute load, stress, endurance, scalability, and performance regression tests.
- Analyze bottlenecks and collaborate with developers and DevOps engineers to prevent performance regressions.
- Validate workflows across distributed services, containers, databases, network components, and hardware-adjacent interfaces.
- Perform manual, exploratory, usability, and release testing to understand the product, validate expected behavior, and establish reliable test scenarios before automating them.
- Develop a deep understanding of fiber monitoring, operational workflows, and customer use cases to determine what to automate, at which level, and with which expected results.
- Investigate pipeline and test failures, distinguish product defects from automation or infrastructure issues, and improve test stability.
- Participate in architecture discussions and design, code, and test reviews.
- Collaborate closely with Product, Development, DevOps, Support, and other engineers to deliver reliable, valuable
features.
Required Technical Skills
- 5 to 7 years of professional experience in software development, quality engineering, test automation, or an SDET role.
- Strong programming or scripting skills using Java, JavaScript/TypeScript, Python, Go, or comparable languages.
- Strong experience developing and maintaining automated test frameworks in production software environments.
- Experience testing REST APIs, microservices, web applications, and system integrations.
- Ability and willingness to develop a deep understanding of the fiber monitoring domain and manually validate scenarios before automating them.
- Solid understanding of test design, automation architecture, regression strategy, defect isolation, and risk-based testing.
- Proven hands-on experience with E2E test automation across distributed or multi-component systems.
- Proven hands-on experience with performance testing, including load, stress, endurance, scalability, and results analysis.
- Proven hands-on experience with Docker and containerized test or application environments.
- Comfortable working in Linux environments.
- Proficiency with Git and collaborative development workflows.
- Good understanding of concurrency, networking, asynchronous processing, and performance considerations in distributed systems.
DevOps, CI/CD & Quality Engineering
- Experience integrating automated tests into CI/CD pipelines.
- Experience with continuous integration, pipeline as code, automated quality gates, and actionable test reporting.
- Ability to define test stages that balance speed, coverage, stability, and release confidence.
- Experience executing tests at pull-request, integration, nightly, release, and production-like validation stages.
- Familiarity with infrastructure as code, container orchestration, and automated environment provisioning.
- Strong focus on reducing flaky tests, shortening feedback loops, and improving automation maintainability.
Observability & Operations
- Experience with logging, monitoring, metrics, distributed tracing, and alerting for test and product analysis.
- Ability to diagnose and analyze issues across multiple services, containers, databases, network interfaces, and infrastructure layers.
- Understanding of production reliability concepts and how operational insights can improve automated coverage.
Assets / Nice to Have
- Experience with Selenium, Playwright, Cypress, REST Assured, Postman/Newman, JMeter, Gatling, k6, or equivalent tools.
- Experience with Kubernetes, Docker Swarm, cloud platforms, or hybrid deployment environments.
- Familiarity with security, resilience, chaos, contract testing, or service virtualization.
- Experience with embedded systems, hardware-in-the-loop testing, or systems close to hardware.
- Experience in telecommunications, network monitoring, or fiber-optic networks.
- Familiarity with event-driven architectures and real-time or near-real-time distributed systems.
- Understanding or practical experience with generative AI coding assistants and agent-based development tools to accelerate test creation, analysis, and maintenance, with appropriate engineering review and governance.
Soft Skills & Mindset
- Naturally curious and motivated to deeply understand system behavior.
- Self-driven and proactive, able to own quality improvements from design through delivery.
- Strong analytical, debugging, and problem-solving skills.
- Excellent communication skills and ability to collaborate across teams.
- High quality standards and a strong sense of ownership for product reliability.
- Pragmatic approach that balances automation, manual testing, delivery speed, and business risk.
- Team-oriented with a proactive attitude.
Requirements
- Bachelor's degree in Software Engineering, Computer Science, or equivalent professional experience.
- Bilingual proficiency in French and English is required.
- Legal authorization to work in Canada.
What We Offer
- Competitive salary and comprehensive benefits package.
- Hybrid and flexible work environment.
- Opportunity to work on real-world infrastructure at global scale.
- Collaborative, pragmatic engineering culture.
- Long-term product roadmap with meaningful technical challenges.
- Continuous learning and professional growth opportunities.
EXFO is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees.