Ingénierie logicielle / Code modulaire pour la planification chirurgicale

Type de contrat : CDD

Contrat renouvelable : Oui

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

Fonction : Ingénieur scientifique contractuel

A propos du centre ou de la direction fonctionnelle

Le centre de recherche Inria de Saclay a été créé en 2008. Sa dynamique s’inscrit dans le développement du plateau de Saclay, en partenariat étroit d’une part avec le pôle de l’Université Paris-Saclay et d’autre part avec le pôle de l’Institut Polytechnique de Paris. Afin de construire une politique de site ambitieuse, le centre Inria de Saclay a signé en 2021 des accords stratégiques avec ces deux partenaires territoriaux privilégiés.

Le centre compte , dont 27 sont communes avec l’Université Paris-Saclay ou l’Institut Polytechnique de Paris. Son action mobilise plus de 600 personnes , scientifiques et personnels d’appui à la recherche et à l’innovation, issues de 54 nationalités

 

 

Contexte et atouts du poste

Au sein de l'équipe Simbiotx, nous construisons des jumeaux humains virtuels afin de faire progresser la compréhension des maladies et la planification des traitements. Notre logiciel peut simuler l'ensemble de la circulation sanguine. Notre prochaine étape consiste à en faire un logiciel utilisable par de nombreux types d'utilisateurs, rapide à personnaliser pour chaque patient et flexible pour prendre en charge davantage de cas d'utilisation.

En particulier, nous avons développé des modèles 0D basés sur la physique de l'ensemble du système cardiovasculaire, y compris les poumons, le cœur et d'autres organes et composants tels que les shunts artificiels, en fonction de la question biomédicale en jeu [Audebert]. Ces modèles sont généralement personnalisés pour chaque patient, avec une estimation automatique des paramètres [Pant] à partir des données. Le code doit fonctionner rapidement pour l'analyse de sensibilité [Sala] et la quantification de l'incertitude.

Ces modèles ont été principalement utilisés par les chercheurs et les chirurgiens pour prédire les variables physiologiques après la palliation d'une cardiopathie congénitale, le traitement de l'hypertension pulmonaire et la chirurgie du foie (résection, nouveau type de chirurgie,...). Afin de consolider ces différents modèles et d'améliorer les possibilités de développement, la modularité et la facilité d'utilisation par une diversité d'utilisateurs, nous avons décidé de remanier le logiciel principal. Ce logiciel est une partie importante du projet européen ERC MoDeLLiver pour être en mesure de fournir aux cliniques, en collaboration avec plusieurs hôpitaux.

Mission confiée

 Nous recherchons un ingénieur logiciel talentueux pour développer la nouvelle génération de notre logiciel de modélisation cardiovasculaire. Votre mission consistera à définir les éléments fondamentaux et à développer en collaboration une nouvelle version de ce logiciel.

Précédemment codé en C, nous prévoyons de passer à C++. La conception du nouveau code sera développée avec les objectifs suivants :

  • Modularité - créer une architecture qui permette une modélisation plus rapide, plus intuitive et plus facile. Les composants individuels du modèle devraient être fournis sous forme de briques élémentaires indépendantes les unes des autres, ce qui facilitera leur interaction.
  • Flexibilité - fournir des options pour interagir avec d'autres logiciels et modèles.
  • Extensibilité - permettre un développement plus efficace de nouveaux composants (par exemple, de nouveaux organes, composants de base ou fonctions). En particulier, la conception doit permettre une extension naturelle de l'interface graphique.
  • Performance - le code doit rester raisonnablement rapide, en particulier pour la chirurgie en temps réel. 

Si vous êtes un ingénieur logiciel passionné qui cherche à acquérir de l'expérience en rejoignant un projet passionnant et très prometteur, contactez-nous ! Vous participerez activement à la redéfinition de l'architecture, à la refonte des éléments de base, au développement, à la gestion et à la maintenance de notre logiciel de pointe qui a toujours fourni des résultats précis et qui comporte de nombreuses autres applications prometteuses.

Principales activités

Activités :

  • Décider et justifier en collaboration une nouvelle architecture, puis l'implémenter en C++.
  • Développer de nouvelles caractéristiques, fonctions et composants basés sur la physique.
  • Maintenir et améliorer le pipeline CI/CD, y compris les runners GitLab, le registre des conteneurs et les images Docker.
  • Tests de logiciels - tests unitaires ; tests d'intégration ; tests e2e.
  • Rédiger de la documentation.
  • Contribuer aux publications scientifiques issues du projet.
  • Veille technologique, notamment dans le domaine de la dynamique des fluides numérique et des modèles cardiovasculaires 0D : état de l'art, développement et/ou déploiement de preuves de concept (PoC), etc.
  • Création de supports de formation pour les développeurs/utilisateurs de l'équipe.
  • Conseil et expertise en développement technologique pour les membres de l'équipe et leurs collaborateurs.

Compétences

  • Solides connaissances et expérience en matière de développement de logiciels :
    • Vaste expérience du développement de logiciels, en particulier en C et en C++ moderne.
    • Connaissance approfondie et expérience des modèles de conception
    • Maîtrise des outils et des pratiques de développement logiciel, y compris : pipelines CI/CD, documentation, tests logiciels, Docker, Runners, versioning.
    • Connaissance de l'administration système Debian GNU/Linux
  • Expérience dans la modélisation de systèmes basés sur la physique
  • Connaissance et compréhension approfondies de l'analyse des équations algébriques différentielles et des méthodes numériques
  • Connaissance de la méthode scientifique associée à l'expérimentation (science reproductible, science et technologie de pointe, contribution à des publications scientifiques sur les méthodologies et la mesure des performances).
  • Niveau d'anglais professionnel requis

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)
  • Accès à la formation professionnelle
  • Sécurité sociale

Rémunération

Selon profil