Responsabilités
Au sein d'une équipe multidisciplinaire dédiée au développement de logiciels embarqués critiques, vous serez impliqué dans différentes phases du cycle de vie logiciel :
Contribution aux activités du projet
* Participer à la planification des objectifs, à l'organisation des tâches et à l'identification des risques techniques.
* Apporter un support au coordinateur de projet et au référent technique.
Développement & Conception
* Concevoir le design détaillé des composants logiciels et produire les spécifications de classes C++.
* Développer des modèles comportementaux via des outils de model-based design (SCADE Suite / SCADE Display).
* Implémenter des fonctionnalités en C++ conformément au design établi et aux exigences de bas niveau.
* Rédiger les spécifications de test et réaliser les tests associés.
Support technique transversal
* Contribuer à la définition des besoins et à la rédaction d'exigences logicielles de haut niveau.
* Participer à la conception d'API et à l'architecture logicielle globale.
* Comprendre l'intégration de vos modules dans le système complet.
Qualité, collaboration et amélioration continue
* Suivre les objectifs fixés, documenter les résultats et rapporter les indicateurs d'avancement.
* Respecter les standards, normes et processus internes.
* Contribuer activement à l'amélioration continue de l'équipe.
* Travailler de manière collaborative et instaurer un climat de confiance au sein du groupe.
Qualifications
* Master ou bachelier en informatique, électronique ou discipline équivalente.
* Expérience confirmée en développement de logiciels embarqués critiques (safety-critical).
* Excellente maîtrise du C/C++ et environnement Linux.
* Connaissance des méthodes de développement en cycle en V, gestion des exigences, gestion des problèmes et du changement.
* Très bonne maîtrise de l'anglais (niveau B2 minimum).
Compétences techniques recherchées
* Minimum 4 années d'expérience en développement logiciel embarqué ou temps réel.
* Expertise en C++ (ou excellente maîtrise du C et d'un langage orienté objet).
* Solide expérience des environnements Linux-based : bash, git, make/cmake, toolchains, VM, gestion mémoire, I/O, scheduling, etc.
* Connaissance de la programmation événementielle.
* Compréhension des protocoles et couches réseau (Ethernet, TCP/IP/UDP, RTP, IPsec, DDS, etc.).
* Compétences en rédaction et gestion d'exigences.
* Intérêt pour la conception d'architecture logicielle.
Atouts appréciés
* Connaissance d'outils de model-based design (SCADE, Simulink).
* Connaissances en développement sur microcontrôleurs.
* Maîtrise d'un langage de script (Python, Perl, Tcl...).
* Expérience avec des outils de gestion de problèmes/changements (Redmine, Mantis, Bugzilla...).
* Familiarité avec : Qt, Yocto, OpenGL (un plus mais pas obligatoire).
Plage de rémunération et package de compensation : A négocier