Ingénieur logiciel embarqué C/C++ - Drivers temps réels

ADDI-DATA Group
Canton de Strasbourg-1, France
5 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
French, English
Experience level
Intermediate
Compensation
€ 42K

Job location

Remote
Canton de Strasbourg-1, France

Tech stack

Microsoft Windows
API
C++
Profiling
Code Review
Continuous Integration
Software Debugging
Linux
Device Drivers
Embedded Software
Ethernet
EtherCAT
Field-Programmable Gate Array (FPGA)
Joint Test Action (IEEE Standards)
Python
Modbus
PCI Express
Software Architecture
Software Engineering
Universal Asynchronous Receiver/Transmitter
VHDL
GIT

Job description

Nos systèmes aident les industries à :

  • Donner aux ingénieurs et opérateurs une meilleure visibilité et une prise de décision plus rapide,
  • Prolonger la durée de vie des machines et assurer des processus plus sûrs et plus automatisés,
  • Renforcer la résilience grâce à la transparence et aux décisions fondées sur les données,
  • Réduire la consommation d'énergie et les pertes de matière.

Notre Culture

La collaboration, l'amélioration continue et la curiosité technique définissent notre culture. A taille humaine, nous combinons l'agilité d'une start-up avec la stabilité d'un partenaire industriel établi.

Chez ADDI-DATA, vous trouverez :

  • Une équipe passionnée d'ingénieurs et d'innovateurs,
  • Une communication ouverte,
  • La liberté de prendre des initiatives et d'assumer des responsabilités,
  • Un fort accent sur l'apprentissage, l'excellence et l'impact., En tant qu'Ingénieur Logiciel Embarqué, vous serez responsable de la conception, du développement et de l'amélioration continue de nos pilotes (drivers) temps réel et de la logique FPGA. Votre mission : assurer une interface fluide entre le matériel d'acquisition et les systèmes hôtes, tout en garantissant performance, robustesse et fiabilité.

Vous serez amené(e) à :

  • Développer et maintenir des pilotes temps réel en C/C++ pour connecter le matériel d'acquisition aux systèmes hôtes,
  • Intégrer les architectures logicielles et matérielles (microcontrôleurs, cartes d'acquisition, FPGA) afin de livrer des solutions complètes,
  • Créer des outils de configuration et de visualisation bas niveau pour les tests, le débogage et le diagnostic des pilotes,
  • Optimiser la performance temps réel en respectant strictement les contraintes de latence, de déterminisme et de robustesse,
  • Développer des outils de test et de validation pour garantir la fiabilité des pilotes et de la chaîne d'acquisition complète,
  • Documenter les architectures, API et interfaces matériel/logiciel pour assurer la maintenabilité et le partage des connaissances,
  • Collaborer étroitement avec les équipes hardware, agir comme référent technique, encadrer les plus jeunes ingénieurs et proposer des améliorations aux outils et processus.

Votre rôle va au-delà du développement : vous contribuerez à l'amélioration continue, agirez comme expert technique, et influencerez les pratiques d'ingénierie à l'échelle de l'équipe.

Requirements

Formation et expérience

  • Diplôme d'ingénieur ou master
  • Minimum 3 ans d'expérience professionnelle, hors stages et apprentissage.

Compétences clés

  • C, C++ (embarqué, bas niveau)
  • Développement de pilotes : DMA, interruptions, mappage mémoire, programmation registre
  • Développement de pilotes sous Windows et Linux (modules noyau, device drivers)
  • Bus de communication : UART, SPI, I²C, PCIe, Ethernet
  • Méthodologies de test : unitaire, fonctionnel, performance, sécurité
  • Pipelines CI/CD et Git (configuration, stratégies de branches, revues de code)
  • Solide compréhension des interactions matériel/logiciel (contraintes temps réel, synchronisation, timing)

Compétences supplémentaires

  • Python (automatisation de tests, outils, prototypage)
  • VHDL (conception et vérification FPGA)
  • Protocoles industriels : Modbus, EtherCAT, Profinet, etc.
  • Outils de débogage et de profilage : JTAG, oscilloscopes, profileurs de performance

Langues

  • Anglais courant (obligatoire), * Quel est votre niveau en Anglais ?

  • Quelles sont vos compétences en bus de communication : UART, SPI, I²C, PCIe, Ethernet?

  • Quelles sont vos compétences en méthodologies de test : unitaire, fonctionnel, performance, sécurité?

  • Quelles sont vos compétences en outils de débogage et de profilage : JTAG, oscilloscopes, profileurs de performance?

  • Quelle est votre niveau de compréhension du VHDL (conception et vérification FPGA)?

  • Quelle est votre niveau compréhension des interactions matériel/logiciel (contraintes temps réel, synchronisation, timing)?

Expérience:

  • Développement de pilotes sous Windows et Linux : 3 ans (Optionnel)
  • Pipelines CI/CD et Git : 5 ans (Optionnel)
  • Développement logiciel (embarqué, bas niveau): 5 ans (Requis)

About the company

À propos d'ADDI-DATA Chez ADDI-DATA, nous convertissons les mesures physiques du monde réel en décisions intelligentes. Notre mission est d'accroître la transparence et de permettre une meilleure prise de décision en temps réel dans l'industrie - en réduisant la consommation d'énergie et les rebuts, en évitant les arrêts non planifiés. Ancrés dans la tradition industrielle européenne, nous allions excellence en ingénierie et innovation pour offrir des systèmes fiables et intelligents qui façonnent les usines modernes. Depuis plus de 40 ans, ADDI-DATA est un partenaire de confiance en mesure et automatisation industrielles, fournissant des systèmes d'acquisition de données et de contrôle haute performance utilisés dans la production, le contrôle qualité et les bancs d'essais à travers le monde. En intégrant l'IA, l'Edge Computing et la fusion de données dans nos solutions nos produits permettent une productivité accrue et des processus plus intelligents pour nos clients.

Apply for this position