JOB OFFER
A position for a software development engineer specialized in algorithmic design and optimization applied to electroencephalographic tilme series is available in the NERV laboratory (https://team.inria.fr/nerv/) at the Paris Brain Institute.
The project’s starting point is the performance of experiments using brain-computer interfaces (BCI) by subjects who, by modulating their brain activity, control an external device. During recording sessions, brain data are acquired by electroencephalography (EEG), then analyzed offline to train AI classification algorithms for optimizing BCI on-line performance.
The position is part of a research project aimed at improving the translation of brain signals into commands. The analysis of EEG data for training machine-learning algorithms is carried out via HappyFeat, a Python software with a Qt interface developed by the team (https://doi.org/10.1016/j.simpa.2023.100610), interfacing with other BCI software (OpenViBE, Timeflux). It simplifies the set-up of BCI experiments, and automates the selection of optimal features for signal classification via graphical statistical analysis tools.
MAIN OBJECTIVES:
Design, develop and optimize in C++ complex algorithms used in computational neuroscience and BCI (connected graphs, signal processing, machine learning), with a high performance challenge (multi-threading, GPU). The scope of the position includes :
· Developing C++ algorithms for signal processing (functional connectivity), connected graph processing and classification (Riemannian geometry, foundation models, etc.),
· Validation via unit testing, benchmarking and performance evaluation on simulated and real signals datasets,
· Case-by-case optimization of algorithms for real-time use, notably through multithreading and GPU implementation.
· Participation in an effort to redesign/refactor the software architecture to make it more modular,
· Technical contribution to a campaign of BCI experiments (around sixty sessions): data analysis, support for exploitation of results, technical support
· Writing technical documentation
The engineer will participate in the overall improvement of the software: setting up automated tests, version control via git, continuous integration, improving maintainability and reproducibility.
REQUIRED PROFILE
5 years’ experience in software development. Engineering school or M2 in computer science.
TECHNICAL SKILLS:
- Proficiency in C++. Experience with modern standards (14/17 or higher) are a plus.
- Good knowledge of signal processing and/or machine learning.
- Significant experience in real-time algorithm development and optimization (profiling, parallelism).
- Experience in GPU programming (CUDA)
- Excellent collaborative software practices: git, Github, automated testing, continuous integration
- Good knowledge of Python and scientific packages (numpy, scipy, scikit-learn)
- Knowledge of neuroscience, BCI, statistics or graph theory would be a plus.
SOFT SKILLS:
- Ability to work with a multidisciplinary team
- Autonomy, synthesis, initiative
- Interest in the world of research and neuroscience
- Good communication and writing skills in English and French
The Brain Institute is committed to combating all forms of discrimination. We guarantee an inclusive and respectful working environment for all diversities.
All our positions are open to individuals with disabilities.
To apply, please prepare your cover letter and CV (in a single PDF file) and send it to: https://offres.institutducerveau-icm.org/fr/jobs/1960-88
Ces entreprises recrutent aussi au poste de “Développement de logiciels et de sites Web”.