Rattaché(e) à l'équipe d'ingénierie système et logiciel, vous participerez activement au développement et à l'évolution des architectures logicielles embarquées de systèmes critiques (calculateur de bord et cartes périphériques).
Vos principales responsabilités seront de :
- Développer et optimiser le code embarqué en C++ pour le calculateur et en C pour les cartes électroniques périphériques (Nodes).
- Assurer l'interfaçage Hardware/Software en programmant les interfaces bas niveau et en analysant les schémas fonctionnels électroniques.
- Concevoir l'architecture logicielle (machines d'états, logique de monitoring) et définir les interfaces logicielles (protocoles de datalink, rédaction d'ICD).
- Garantir la performance et la robustesse du code via l'analyse des temps d'exécution et l'optimisation des ressources.
- Participer à la démarche DevOps en maintenant et en faisant évoluer les pipelines CI/CD et les chaînes de compilation (toolchains).
- Intervenir sur l'ensemble du cycle de vie (V-cycle/Agile) : de la rédaction des spécifications aux plans de tests et documents de design.
Qualifications
- Développement Embarqué : Maîtrise impérative du C et du C++ dans un contexte embarqué critique. Une expérience ou une sensibilité sur Linux embarqué (gestion des services, contraintes temps réel) est un fort atout pour la suite du projet.
- Interfaçage & Hardware : Bonne connaissance des protocoles et interfaces bas niveau (Serial, Ethernet, discrets, analogique, PWM, UDP/TCP). Capacité éprouvée à lire et analyser un schéma fonctionnel électronique.
- Ingénierie Système : Rigueur dans la rédaction documentaire technique (spécifications, ICD, plans de tests).
- DevOps / Intégration : Expérience pratique avec les outils de CI/CD (mise en place de jobs/pipelines).