Travailler chez Evident
Evident Canada est une société du groupe Wabtec ! Evident Canada, une société du groupe Wabtec, est un chef de file mondial dans la fabrication d'équipements d'inspection innovants utilisés dans des applications industrielles et de recherche dans l'aérospatiale, la production d'énergie, la pétrochimie, les infrastructures civiles, l'industrie automobile et les produits de consommation.
Evident offre une vaste gamme de logiciels et d’équipements dédiés à la détection de défauts et à l’inspection visuelle à distance. Ces solutions avancées, intégrant des technologies telles que les ultrasons, les courants de Foucault et les vidéoscopes industriels, permettent la détection efficace de défauts dans divers secteurs industriels. Elles garantissent des inspections précises et rapides, même dans des environnements complexes ou difficiles d’accès. Nos appareils sont particulièrement adaptés à l’inspection de soudures, à la détection de fissures cachées, de vides, de porosités et d’autres irrégularités internes dans une variété de matériaux.
Ainsi, les défis s’annoncent stimulants !
**French description will follow**
As a Senior Python Software Developer in AI team tooling, you will work with a talented, multidisciplinary team of developers to build a new modern software platform (including streaming, 2D and 3D visualization, computer vision, and AI) for a new line of visual inspection products. Your mission is to multiply the velocity of the AI/computer vision team by delivering benchmark tools, visualizers, result viewers, data viewers, and profiling utilities that make workflows faster and safer.
In collaboration with the AI team, you will design and build Python-first developer tools that cover the full lifecycle—data exploration, evaluation, benchmarking, debugging, and deployment readiness. You will prototype quickly with a pragmatic ‘hacker’ mindset (rapid iterations, creative problem solving, end-to-end ownership), and then harden the solutions into reliable, well-tested internal products. While Python is the language of choice, you will also touch multiple technologies as needed (C++ for performance-critical components, TypeScript for UIs, C#/.NET integrations, and more) to make things work in real production environments.
Your Responsibilities:
Build benchmarking frameworks and harnesses to measure model accuracy, latency, throughput, and resource usage across GPU/CPU targets.
Develop visualization and result-viewer tools to inspect predictions, overlay annotations, compare runs, and accelerate error analysis.
Create interactive data viewers for images/video streams and metadata (sampling, filtering, dataset slices, annotation QA).
Develop profiling utilities and performance dashboards (hot-path analysis, bottleneck detection, regression detection) and integrate with common profilers.
Create reusable Python libraries/CLIs/SDKs for running evaluations, collecting metrics, and generating standardized reports.
Integrate tooling with CI/CD and MLOps workflows to enable reproducible experiments, automated validations, and performance gates.
Bridge across stacks as needed: C++ extensions for speed, TypeScript front-ends for internal web apps, and C#/.NET adapters for platform integration.
Partner closely with CV engineers, MLOps, and product teams—gather requirements, iterate quickly, and provide hands-on support.
Maintain high engineering standards: clean APIs, tests, documentation, packaging/versioning, and sustainable ownership of the tool ecosystem.
Job Requirements :
Core Expertise
Senior-level software engineering experience with a strong Python background and a track record of shipping internal tools used by other engineers.
Fast problem-solver who can prototype, unblock teams, and deliver practical solutions under real constraints.
Strong fundamentals in software design, debugging, testing, and performance on Linux-based development environments.
Tooling & Python
Expert Python: packaging (pip/conda), API design, CLI tooling, typing, and test automation (pytest).
Experience building developer productivity tools (SDKs, command-line tools, notebooks, services, or internal web apps).
Working knowledge of common CV/ML libraries used by the team (NumPy, OpenCV, PyTorch/TensorFlow basics).
Ability to extend Python with other languages when needed (C++/pybind/ctypes), and comfort working in multi-repo codebases.
Performance, Profiling & Benchmarking
Hands-on experience building benchmarks and performance tests for compute-heavy pipelines (microbenchmarks, end-to-end benchmarks, regression tracking).
Comfort with profiling tools and techniques (CPU/GPU profiling, tracing, flame graphs) and turning findings into measurable improvements.
Understanding of hardware and deployment constraints (CPU/GPU/NPU) and how they impact latency, throughput, and memory.
Platforms & DevOps
Experience with CI/CD for software tooling (GitLab CI/GitHub Actions), and building quality gates for tests and performance.
Docker and containerized development; ability to package and run tools consistently across dev and build environments.
Familiarity with cloud environments and services used for AI workflows (e.g., Azure-based stacks) is a strong plus.
Collaboration & Engineering
Git, code reviews, and collaborative engineering practices; ability to operate across teams and interfaces.
Agile development mindset: incremental delivery, feedback loops, and pragmatic prioritization.
Strong communication skills in English for international collaboration; able to explain tools and results clearly to end users.
Profile
Bachelor’s degree in Computer Science, Software Engineering or related field (or equivalent experience).
5+ years of professional experience, with demonstrated ownership of tools/products used by engineering teams.
Comfortable moving across technologies (Python, C++, TypeScript, C#, etc.) and learning quickly when the project demands it.
A builder’s mindset: curiosity, autonomy, and a bias for action—deliver something useful fast, then refine it to excellence.
______________________________________________________________________________
En tant que développeur(e) logiciel Python senior au sein de l’équipe des outils IA, vous travaillerez avec une équipe talentueuse et multidisciplinaire de développeurs pour construire une nouvelle plateforme logicielle moderne (incluant le streaming, la visualisation 2D et 3D, la vision par ordinateur et l’IA) destinée à une nouvelle gamme de produits d’inspection visuelle. Votre mission est d’augmenter la vélocité de l’équipe IA/vision par ordinateur en fournissant des outils de benchmarking, des visualiseurs, des visionneuses de résultats, des outils d’exploration de données et des utilitaires de profilage qui rendent les flux de travail plus rapides et plus fiables.
En collaboration avec l’équipe IA, vous concevrez et développerez des outils destinés aux développeurs, centrés sur Python, couvrant l’ensemble du cycle de vie — exploration des données, évaluation, benchmarking, débogage et préparation au déploiement. Vous prototyperez rapidement avec un état d’esprit pragmatique de type « hacker » (itérations rapides, résolution créative de problèmes, prise en charge de bout en bout), puis consoliderez ces solutions en produits internes fiables et bien testés. Bien que Python soit le langage principal, vous utiliserez également d’autres technologies au besoin (C++ pour les composants critiques en performance, TypeScript pour les interfaces, intégrations C#/.NET, etc.) afin d’assurer le bon fonctionnement en environnement de production réel.
Vos responsabilités
Développer des frameworks et des environnements de benchmarking pour mesurer la précision des modèles, la latence, le débit et l’utilisation des ressources sur des architectures GPU/CPU.
Créer des outils de visualisation et des visionneuses de résultats pour analyser les prédictions, superposer des annotations, comparer des exécutions et accélérer l’analyse des erreurs.
Concevoir des outils interactifs d’exploration de données pour les images/flux vidéo et les métadonnées (échantillonnage, filtrage, sous-ensembles de données, contrôle qualité des annotations).
Développer des utilitaires de profilage et des tableaux de bord de performance (analyse des chemins critiques, détection de goulots d’étranglement, détection de régressions) et les intégrer avec des profileurs courants.
Créer des bibliothèques Python, CLI et SDK réutilisables pour exécuter des évaluations, collecter des métriques et générer des rapports standardisés.
Intégrer les outils aux pipelines CI/CD et aux flux MLOps afin de permettre des expérimentations reproductibles, des validations automatisées et des seuils de performance.
Intervenir sur différentes couches technologiques selon les besoins : extensions C++ pour la performance, interfaces web en TypeScript, adaptateurs C#/.NET pour l’intégration à la plateforme.
Collaborer étroitement avec les ingénieurs en vision par ordinateur, les équipes MLOps et produit : recueillir les besoins, itérer rapidement et offrir un soutien concret.
Maintenir des standards d’ingénierie élevés : API propres, tests, documentation, gestion des versions et pérennité de l’écosystème d’outils.
Exigences du poste
Expertise principale
Expérience senior en développement logiciel avec une forte expertise en Python et un historique de livraison d’outils internes utilisés par d’autres ingénieurs.
Excellente capacité de résolution de problèmes, capable de prototyper rapidement, de débloquer les équipes et de livrer des solutions concrètes dans des contraintes réelles.
Solides bases en conception logicielle, débogage, tests et performance dans des environnements Linux.
Python et outils
Maîtrise avancée de Python : gestion des packages (pip/conda), conception d’API, outils CLI, typage et automatisation des tests (pytest).
Expérience dans la création d’outils de productivité pour développeurs (SDK, outils en ligne de commande, notebooks, services ou applications web internes).
Bonne connaissance des bibliothèques courantes en vision par ordinateur / ML (NumPy, OpenCV, bases de PyTorch/TensorFlow).
Capacité à étendre Python avec d’autres langages si nécessaire (C++/pybind/ctypes) et aisance dans des environnements multi-dépôts.
Performance, profilage et benchmarking
Expérience concrète dans la mise en place de benchmarks et de tests de performance pour des pipelines intensifs en calcul (micro-benchmarks, tests de bout en bout, suivi des régressions).
Maîtrise des outils et techniques de profilage (CPU/GPU, traçage, flame graphs) et capacité à transformer les analyses en améliorations mesurables.
Compréhension des contraintes matérielles et de déploiement (CPU/GPU/NPU) et de leur impact sur la latence, le débit et la mémoire.
Plateformes et DevOps
Expérience avec les pipelines CI/CD pour les outils logiciels (GitLab CI, GitHub Actions) et mise en place de contrôles qualité.
Expérience avec Docker et les environnements conteneurisés pour assurer la reproductibilité.
Familiarité avec les environnements cloud utilisés en IA (ex. Azure) est un atout important.
Collaboration et ingénierie
Maîtrise de Git, des revues de code et des pratiques collaboratives; capacité à travailler à travers différentes équipes.
Mentalité Agile : livraison incrémentale, boucles de rétroaction et priorisation pragmatique.
Excellentes compétences en communication en anglais pour collaborer à l’international et vulgariser les outils et résultats.
Profil
Baccalauréat en informatique, génie logiciel ou domaine connexe (ou expérience équivalente).
Plus de 5 ans d’expérience professionnelle, avec responsabilité démontrée sur des outils ou produits utilisés par des équipes d’ingénierie.
À l’aise avec plusieurs technologies (Python, C++, TypeScript, C#, etc.) et capable d’apprendre rapidement selon les besoins du projet.
Esprit de bâtisseur : curiosité, autonomie et orientation vers l’action — livrer rapidement des solutions utiles, puis les amener à un niveau d’excellence.
- Baccalauréat en informatique, en génie logiciel ou domaine connexe (ou expérience équivalente).
Minimum de 5 ans d’expérience professionnelle, avec responsabilité démontrée sur des outils ou produits utilisés par des équipes d’ingénierie.
Aisance à évoluer entre différentes technologies (Python, C++, TypeScript, C#, etc.) et à apprendre rapidement selon les besoins du projet.
Mentalité de bâtisseur : curiosité, autonomie et orientation vers l’action — livrer rapidement une solution utile, puis la perfectionner vers l’excellence.
Travailler chez Evident c’est aussi :
- D’abord et avant tout la possibilité d’apprendre et progresser;
- Équipes multidisciplinaires et dynamiques;
- Un programme de primes annuelles et des avantages médicaux complets;
- Des horaires flexibles qui facilite la conciliation travail/famille;
- Possibilité de télétravail.
Qu’est-ce que vous pourriez accomplir dans un endroit où les gens passent avant tout?
Chez Wabtec, ce n’est pas juste un emploi — c’est l’impact que vous créez. Quand nos gens se rassemblent, nous repoussons les limites du possible en améliorant continuellement ce que nous faisons et comment nous le faisons — pour nos clients et les uns pour les autres.
Si vous êtes prêt à révolutionner la façon dont le monde se déplace pour les générations futures, Wabtec est l’endroit qu’il vous faut.
Qui sommes-nous?
Wabtec est un fournisseur mondial de premier plan d’équipements, de systèmes, de solutions numériques et de services à valeur ajoutée pour les secteurs ferroviaires de fret et de transport en commun. Forts de plus de 150 ans d’expérience, nous menons en matière de sécurité, d’efficacité, de fiabilité, d’innovation et de productivité. Que ce soit dans le fret, le transport, les ports, la logistique, les mines, l'industrie ou la marine, notre expertise, nos technologies et nos employés accélèrent ensemble l’avenir du transport. Avec des racines remontant à George Westinghouse, Thomas Edison et Louis Faiveley, Wabtec a toujours développé des technologies et mis en œuvre des solutions adaptées aux secteurs essentiels pour répondre aux besoins des clients et des gouvernements.
Avec environ 30 000 membres de l’équipe à travers le monde, nous générons une performance qui fait avancer le monde. Nous sommes des apprenants à vie, animés par le désir constant de faire mieux. Apprenez-en plus à www.WabtecCorp.com
Notre culture nous propulse et ouvre les possibilités
Nous croyons que les meilleures idées naissent d’un mélange d’expériences et de parcours variés. Chez Wabtec, nous travaillons chaque jour pour créer un environnement où chacun trouve sa place. Nous bâtissons une culture où le leadership, l’inclusion et votre perspective unique alimentent le progrès.
Nous sommes fiers d’être un employeur offrant l’égalité des chances. Nous accueillons les talents de tous les horizons, expériences et identités – y compris la race, le genre, l’âge, le handicap, le statut de vétéran et plus encore.
Besoin d’adaptation? Faites-nous signe – nous sommes là pour vous.
Des opportunités partout, pour vous
De l’ingénierie aux opérations, trouvez le poste qui vous correspond.
Recherchez des offres d'emploiRejoignez notre communauté de talents
Nous sommes en recherche continue de personnes capables d'apporter des perspectives nouvelles et des expériences de vie enrichissantes à nos équipes. Rejoignez notre communauté de Talents et soyez les premiers informés des offres d'emploi et des événements locaux.
S'inscrire