**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.