2020-02975 - Software engineer at the SOFA consortium
Le descriptif de l’offre ci-dessous est en Anglais

Type de contrat : CDD

Niveau de diplôme exigé : Bac + 5 ou équivalent

Fonction : Ingénieur scientifique contractuel

Niveau d'expérience souhaité : De 3 à 5 ans

Contexte et atouts du poste

The SOFA consortium aims at gathering partners understanding they have a shared interest in improving SOFA. These partners are therefore willing to contribute to adequate staffing of the consortium through membership fees to deliver increasingly better versions of SOFA.

Administratively hosted by Inria, the established missions of the SOFA consortium staff focus on:

  • community animation
  • quality improvement
  • code maintenance
  • development

Your work will be performed in close collaboration with the 4 Inria teams involved in the SOFA project. Since the SOFA consortium is the heart of the community, you will also be in contact with the worldwide open source community. A specific attention will be paid to the SOFA consortium members.

Mission confiée

Over the years, the open source code base of SOFA grew significantly, up to 1.5 million lines today. Moreover, these developments did not always followed all current standards and guidelines. The software core thus became a monolithe that making the compilation long, the integration and the maintenance heavy and slowing down any technical evolution.

The person recruited will be in charge of the modernisation and clean of the CMake architecture of the project. Your work consists in rebuilding a clean and modular core for SOFA. This means the analysis and update of the CMake architecture of the project in order to clean each so-called “module” in the core of SOFA and explicit their dependencies. Your work will impact and improve the SOFA-experience for everyone in the community.

As a consequence, this project must be led in synergy with Inria research teams and all engineers involved in the SOFA project. On an every-day basis, you will work within the SOFA consortium staff. You will have the opportunity to ask for support and guidance anytime. Once a week, you will report to the community during the SOFA dev meetings. Finally, at the SOFA Technical Committees (STC), a larger update will be provided to the consortium members.

Principales activités

Main activities (5 maximum) :


  • Analyse the project structure and define the final format for modules in the SOFA core (with the help of the dev community)
  • Implement the architecture to the core of SOFA
  • Implement a package manager based on a started project (SPM)


Additional activities (3 maximum) :

  • Write documentation
  • Peer review of contributions from other devs
  • Support the community
  • Contribute on other topics to the project


Technical skills and level required :

  • C++: high level
  • CMake architecture: good/high level
  • Understanding of the SOFA project is definitely a plus

Languages :

  • English
  • French would be a plus

Relational skills :

  • Ability to translate the technical tasks and their progress on a weekly basis
  • Ability to communicate with Inria research teams, SOFA consortium members and the worldwide community

Other valued appreciated :


  • Open-minded, motivated amd willing to spend good time at work!
  • A strong open source philosophy



  • Subsidized meals
  • Partial reimbursement of public transport costs
  • Leave: 7 weeks of annual leave + 10 extra days off due to RTT (statutory reduction in working hours) + possibility of exceptional leave (sick children, moving home, etc.)
  • Possibility of teleworking (after 6 months of employment) and flexible organization of working hours
  • Professional equipment available (videoconferencing, loan of computer equipment, etc.)
  • Social, cultural and sports events and activities
  • Access to vocational training
  • Social security coverage