2019-01492 - Head developer for an Open Source brain computer interface software (OpenViBE)

Contract type : Public service fixed-term contract

Renewable contract : Oui

Level of qualifications required : Graduate degree or equivalent

Fonction : Temporary scientific engineer

Level of experience : From 3 to 5 years

Context

Inria, through the InriaSoft action, has the ambition to sustain, develop and distribute major scientific software.

OpenViBE (http://openvibe.inria.fr), an open-source software for brain-computer interfaces and the processing of brain data (EEG or electro-encephalography) in real time, is part of this intiative.

The brain-computer interfaces (BCIs) allow to send commands to a computer directly using brain activity. The brain activity is measured using electrodes (EEG headphones) that record the electrical activity of the brain in real time, so that it can be analyzed and translated into "mental commands".

In less than 10 years, OpenViBE has become one of the most widely used software programs in the world of brain-computer interfaces. The software is downloaded on average more than 6,000 times each year, and is at the heart of the work of many academic, clinical, and industrial partners.

The recruited engineer will collaborate with the Inria research teams who use and contribute to the software, and with the InriaSoft action that drives the building of a consortium of partners on this software.

The proposed position aims to prefigure and thus demonstrate the relevance of a permanent position to support the development and maintenance work around the software for the consortium over time.

The engineer will take part in the life of an Inria project team: Hybrid (http://team.inria.fr/hybrid) and / or POTIOC (http://team.inria.fr/potioc).

Regular trips to consortium members are planned; travel expenses will be covered within the limits of the current rules.

Assignment

Under the responsibility of InriaSoft's technical manager, the mission of the head of development for OpenViBE is to carry out the software editing tasks necessary for the development of the OpenViBE software, its maintenance and its distribution.

The main assignment for the engieneer is to support and develop the software. More specifically, he or she adapts the software architecture, implements the new functionalities, integrates and automates the unit tests of the platform according to the needs expressed by the users, among which are several Inria research teams. He or she is also responsible for the documentation, communication, and publication of the platform to research teams and the user community.

A second assignement will be to interface with the user community outside Inria, to promote the creation of the consortium of partners (companies, laboratories and universities, at national and international level) interested in the OpenViBE project and the development of the software developer community. This work will involve regular exchanges, specification efforts, specific developments, as well as participation in the marketing and economic development work related to the consortium.
 

Main activities

The main activities are listed below

  • Adaptation of the software architecture
  • Software component development
  • Definition, development and integration of unit test sets to the continuous integration platform
  • Animation of the community of users and contributors (via the website and the forum of the software)
  • Participation in the development of a sustainable business model around a consortium of external partners

In addition, the recruited person will also have to work on the following activities:

  • Technical documentation for the Software
  • Pushing new versions of the platform to research teams and the user community
  • Oral and written presentation of the work and results
 

Skills

Technical skills and required level:
  • In-depth skills in C, C ++ programming.
  • In-depth skills in design and software architecture, design patterns
  • Skills in continuous integration tools
  • Knowledge of collaborative development tools (version management, issue management), Git, GitHub
  • Experience with Windows, Linux environments
  • Ability to write technical documents
Languages: Excellent level of written and spoken English

Social skills:
  • Ability to work collaboratively with people from other areas of expertise.
  • Autonomy to progress on assigned work,
  • Sense of partnership and teamwork
  • Ease to present the work and write

Additional skills appreciated:

  • Matlab, Python, GUI programming
 

Benefits package

  • Subsidised catering service
  • Partially-reimbursed public transport

Remuneration

Monthly gross salary from 2 562 euros according to diploma and experience