Ingénieur C / C++

Jean Michel
Lyon, France
3 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
French
Experience level
Senior

Job location

Lyon, France

Tech stack

Abstraction Layers
API
C++
Software Debugging
Python
Software Architecture
Software Engineering
Multithreading

Job description

En tant qu'ingénieur logiciel, vous jouez un rôle clé dans le développement, la maintenance et

l'évolution d'un produit logiciel complexe à fort contenu algorithmique.

Vous intervenez au cœur du système, sur des composants critiques (C, C++, drivers, performances),

tout en contribuant aux choix d'architecture et à la robustesse globale du produit sur le long terme.

Vous travaillez en interaction étroite avec des équipes pluridisciplinaires (algorithmes, data, IA, produit)

et participez activement à l'industrialisation de nouvelles fonctionnalités.

Des interventions ponctuelles en langage C sont également attendues pour l'intégration et l'adaptation

de composants bas niveau (notamment drivers ou couches d'abstraction matérielle).

Tâches et Responsabilités

  • Concevoir, développer et maintenir des composants logiciels bas niveau en C et applicatif C++
  • Assurer la stabilité, la performance et la fiabilité des briques critiques du produit
  • Analyser, diagnostiquer et corriger des problèmes complexes (bugs, fuites mémoire, problèmes de concurrence, comportements non déterministes)
  • Participer aux choix d'architecture logicielle et à leur mise en œuvre concrète
  • Faire évoluer un code existant en veillant à sa maintenabilité et à sa lisibilité
  • Contribuer à l'amélioration des pratiques de développement (tests, outillage, CI, debugging)
  • Travailler à l'interface avec des modules de plus haut niveau (C++, Python, APIs, IPC)

Requirements

  • 3 à 5 ans d'expérience professionnelle en développement logiciel
  • Expérience significative sur des projets C/C++

️ Compétences techniques

  • Très bonne maîtrise du C++ (gestion mémoire, RAII, pointeurs, cycles de vie, erreurs classiques, etc…) et bonne maîtrise du C pour des développements bas niveau ponctuels (drivers, interfaces matérielles)

  • Solide expérience en développement bas niveau : performance, concurrence, synchronisation, multithreading

  • Bonne compréhension des architectures logicielles et des systèmes complexes

Benefits & conditions

Poste disponible sur la région auvergne Rhone Alpes

Apply for this position