Offre d'emploi n° 17214325

Ingénieur développeur logiciel Confirmé (F/H)

Type de contrat : CDI
Localisation : Seine-Maritime - Paris
Entreprise : INRIA
Fonction : Commercial - Vente

Publiée le 17/09/2025
Expérience souhaitée : 1 à 2 ans
Niveau d'études souhaité : Bac / Bac Pro

Description du poste

Contexte et atouts du poste

L’Institut du Cerveau et de la Moelle épinière est une Fondation privée reconnue d’utilité publique dont l’objet est la recherche fondamentale et clinique sur le système nerveux. Sur un même lieu, 1000 chercheurs, ingénieurs et médecins couvrent l’ensemble des disciplines de la neurologie, dans le but d’accélérer les découvertes sur le fonctionnement du cerveau, et les développements de traitements sur les maladies comme : Alzheimer, Parkinson, Sclérose en plaques, épilepsie, dépression, paraplégies, tétraplégies, etc. Inauguré en septembre 2010, l’Institut connait une croissance importante de son activité qui nécessite l’appui d’un pôle juridique renforcé.

Ce poste d’ingénieur en développement logiciel et optimisation de calcul appliqué aux séries temporelles (électroencéphalographie) est à pourvoir dans le laboratoire NERV ( à l’Institut du Cerveau à Paris (Paris Brain Institute).

Le projet a pour point de départ la réalisation d’expériences d’utilisation d’interfaces cerveau-machine (BCI) par des sujets qui, par la modulation de leur activité cérébrale, contrôlent un dispositif externe. Lors des sessions d’enregistrement, les données cérébrales sont acquises par électroencéphalographie (EEG), puis analysées hors-ligne afin d’entrainer des algorithmes IA de classification dans le but d’optimiser les performances en ligne du BCI.

Le poste s’intègre dans le contexte d’un projet de recherche visant à améliorer la traduction de signaux cérébraux en commandes. L’analyse des données EEG pour l’entrainement d’algorithmes de machine-learning est réalisée via HappyFeat, un logiciel Python avec une interface Qt développé par l’équipe ( s’interfaçant avec d’autres logiciels BCI (OpenViBE, Timeflux). Il permet de simplifier la mise en place des expériences BCI, et d’automatiser la sélection de caractéristiques optimales pour la classification des signaux via des outils graphiques d’analyse statistique.

Mission confiée

Rattaché(e) à l'Ingénieur R&D en charge du projet, l'ingénieur développeur logiciel confirmé aura pour mission de concevoir, intégrer et optimiser en C++ des algorithmes complexes utilisés en neurosciences computationnelles et BCI (graphes connectés, traitement du signal, machine learning), avec un fort enjeu de performance (multi-threading, GPU). Les différents travaux incluent :

· L’intégration (C++) d’algorithmes de traitement du signal (connectivité fonctionnelle), de traitement de graphes connectés, et de classification (géométrie Riemannienne, modèles de fondation…),

· La validation des algorithmes via tests unitaires, benchmarking et évaluation de leurs performances sur signaux simulés et réels,

· L’optimisation au cas par cas des algorithmes pour leur utilisation en temps réel, notamment via l’utilisation de multithreading et d’implémentation sur GPU.

· La participation à un effort de refonte de l’architecture du logiciel pour en accroître la modularité,

· La contribution technique à une campagne d’expériences BCI (environ soixante sessions) : analyse des données, soutien à l’exploitation des résultats, soutien technique.

· La rédaction de documentation technique

L’ingénieur(e) participera à l’amélioration générale du logiciel : mise en place de tests automatisés, contrôle de version via git, intégration continue, maintenabilité et reproductibilité.

Principales activités

· L’intégration (C++) d’algorithmes de traitement du signal (connectivité fonctionnelle), de traitement de graphes connectés, et de classification (géométrie Riemannienne, modèles de fondation…),

· La validation des algorithmes via tests unitaires, benchmarking et évaluation de leurs performances sur signaux simulés et réels,

· L’optimisation au cas par cas des algorithmes pour leur utilisation en temps réel, notamment via l’utilisation de multithreading et d’implémentation sur GPU.

· La participation à un effort de refonte de l’architecture du logiciel pour en accroître la modularité,

· La contribution technique à une campagne d’expériences BCI (environ soixante sessions) : analyse des données, soutien à l’exploitation des résultats, soutien technique.

· La rédaction de documentation technique

Compétences

Compétences techniques:

  • Maîtrise du C++. Les normes modernes (14/17 ou supérieur) sont un plus.
  • Bonnes connaissances en traitement du signal et/ou en machine-learning.
  • Expérience significative en développement d’algorithmes temps-réel et en optimisation de performances (profilage, parallélisme)
  • Expérience en programmation GPU (CUDA)
  • Excellentes pratiques logicielles collaboratives : git, Github, tests automatisés, intégration continue
  • Bonnes connaissances en Python et packages scientifiques (numpy, scipy, scikit-learn)
  • Des connaissances en neurosciences, BCI, statistiques ou théorie des graphes seraient un plus.

  • Savoir-être:

  • Capacité à travailler avec une équipe pluridisciplinaire
  • Autonomie, synthèse, initiative
  • Intérêt pour le monde de la recherche et les neurosciences
  • Bonne communication et rédaction en anglais et français.
  • Avantages

  • Restauration subventionnée
  • Transports publics remboursés partiellement
  • Congés: 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
  • Possibilité de télétravail et aménagement du temps de travail
  • Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
  • Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)
  • Je postule directement sur le site de l'entreprise