Ingénieur Développement C/C++ Linux

Il y a 11 heures

Valbonne, Provence-Alpes-Côte d'Azur, France engIT Temps plein
Dans le cadre de projets de développement de systèmes logiciels complexes, nous recherchons un ingénieur spécialisé en C/C++ sous Linux, avec une expertise en développement bas niveau et protocoles de communication. Vous interviendrez sur des problématiques techniques exigeantes associant traitement de flux de données, développement système, communication réseau et interaction avec des composants bas niveau. Cette mission s'adresse à des profils passionnés par le développement logiciel performant, les architectures de communication et les environnements Linux proches du système. Vos missions
• Concevoir et développer des composants logiciels en C et C++ sous Linux.
• Développer les mécanismes de collecte, de traitement et de transmission des données radio provenant de plusieurs antennes.
• Concevoir et optimiser les communications entre les différents composants du système.
• Implémenter, intégrer et déboguer des protocoles de communication réseau.
• Intervenir sur des problématiques de performance, de latence, de concurrence et de fiabilité des échanges de données.
• Analyser les dysfonctionnements logiciels et réseau à l'aide d'outils de diagnostic et de débogage.
• Travailler à proximité du système d'exploitation Linux : interactions avec les mécanismes bas niveau, appels système, gestion des ressources et, selon les besoins, interfaces avec le kernel.
• Participer à l'intégration et à la validation des développements dans un environnement technique contraint. Compétences techniques recherchées Développement C/C++ et Linux
• Maîtrise du développement en C et/ou C++ en environnement Linux.
• Bonne compréhension des mécanismes internes de Linux : processus, threads, mémoire, synchronisation, entrées/sorties et appels système.
• Expérience en développement système ou embarqué, idéalement avec une première expérience du kernel Linux, de ses interfaces ou du développement de modules.
• Maîtrise des outils de compilation, de débogage et de diagnostic sous Linux. Réseaux et protocoles de communication
• Connaissances avancées en développement réseau et en communication interprocessus.
• Bonne maîtrise des mécanismes TCP/IP, sockets, UDP et des échanges de données en temps réel ou à forte volumétrie.
• Expérience dans l'implémentation, l'intégration ou le diagnostic de protocoles de communication.
• Une connaissance de protocoles industriels ou embarqués tels que CAN/CANopen, Modbus RTU/TCP, UART, SPI, I²C ou Ethernet industriel constitue un atout.
• Des connaissances des protocoles de communication bas niveau et des contraintes de synchronisation entre équipements sont appréciées. Traitement de données et performance
• Expérience dans le traitement de flux de données issus de plusieurs équipements ou sources.
• Capacité à analyser les performances, les temps de réponse, la latence et les problématiques de concurrence.
• Une expérience dans les systèmes radio, télécoms, acquisition de données ou systèmes distribués constitue un avantage.

Profil recherché
De formation supérieure en informatique, systèmes embarqués, électronique ou télécommunications, vous justifiez d'une expérience significative en développement C/C++ sous Linux. Vous disposez d'une solide culture technique en développement système et en communication réseau. Vous appréciez les problématiques de bas niveau, l'analyse de dysfonctionnements complexes et l'optimisation de logiciels proches du matériel. Une expérience en environnement industriel, télécoms, défense, instrumentation ou systèmes embarqués serait particulièrement pertinente. Environnement technique C, C++, Linux, développement système, kernel Linux, TCP/IP, UDP, sockets, CAN, CANopen, Modbus, UART, SPI, I²C, Ethernet, traitement de flux de données, multithreading, débogage et optimisation des performances.