INGENIEUR ARCHITECTE LOGICIEL - SYSTEMES ROBOTIQUE & MECATRONIQUE (C#/C++/Python)
Role details
Job location
Tech stack
Job description
Au sein de l'équipe R&D, vous êtes le garant de la qualité structurelle du logiciel sur le long terme, dans un contexte où le code dialogue en permanence avec le monde physique - caméras industrielles, moteurs pas à pas, automates, robots collaboratifs. Vous intervenez en transversal sur la conception des design patterns, la mise en place des pratiques DevOps et la cohérence architecturale de l'ensemble des projets logiciels robotiques.
Vos missions principales sont les suivantes :
-
Vous concevez et formalisez les patterns d'architecture adoptés par l'équipe, en tenant compte des contraintes spécifiques aux systèmes temps réel, à la synchronisation matériel-logiciel et à l'intégration des protocoles industriels comme l'EIP/EtherCAT ;
-
Vous définissez les interfaces logicielles entre les modules de vision, d'intelligence artificielle, de communication industrielle et de pilotage robotique, en garantissant leur cohérence et leur robustesse face aux aléas du monde physique ;
-
Vous évaluez la faisabilité technique des solutions envisagées et proposer des arbitrages argumentés, notamment sur les compromis entre performance, déterminisme et maintenabilité ;
-
Vous mettez en place et maintenez les pipelines CI/CD, le packaging et les stratégies de déploiement sur des cibles hétérogènes - PC industriel, systèmes embarqués contraints ;
-
Vous participez aux revues de code pour garantir la bonne application des patterns définis et faire progresser le niveau collectif de l'équipe ;
-
Vous produisez et structurez la documentation technique : spécifications d'architecture, guides d'implémentation, conventions de développement et de nommage.
Au-delà de ces missions, vous établissez une veille technologique sur les évolutions des pratiques d'architecture logicielle appliquées aux systèmes robotiques et industriels, et vous conseillez le Tech Lead sur les nouveaux outils à utiliser au sein de l'équipe.
Requirements
Vous êtes un ingénieur logiciel avec une forte expérience (minimum 4 ans) dont une partie significative orientée architecture dans des contextes industriels, robotiques ou mécatroniques.
Vous avez une culture forte des design patterns, et savez les adapter aux réalités d'un système où le logiciel est en prise directe avec le matériel - contraintes temps réel, synchronisation, gestion des états machine et des défaillances physiques.
Vous avez une bonne compréhension des protocoles de communication industriels (EIP, EtherCAT ou équivalent) et n'êtes pas déstabilisé par la proximité avec les équipes mécatroniques et électroniques.
Vous maîtrisez les outils de CI/CD (GitLab CI, Jenkins ou équivalent), le packaging logiciel et les stratégies de déploiement sur des cibles hétérogènes, du PC industriel à l'environnement embarqué contraint. Vous maîtrisez C# et Python ; la connaissance du C++ et des concepts bas niveau de gestion mémoire est un plus apprécié.
Au-delà de la technique, vous êtes à l'aise dans un rôle transversal qui vous amène à dialoguer aussi bien avec des ingénieurs logiciels que des profils mécatroniques ou électroniques. Vous savez traduire des contraintes physiques en décisions d'architecture, formaliser ces choix dans une documentation claire et les défendre auprès d'interlocuteurs aux cultures techniques variée.
Benefits & conditions
Dans le cadre de sa politique de diversité, Maf Roda Agrobotic étudie à compétences égales toutes candidatures dont celles de personnes en situation de handicap.
Intéressement/participation + horaires variables + avantages CSE.
Le poste est basé à Montauban (82) et nécessite potentiellement des déplacements en France et à l'étranger.