Ingénieur développement Python
Mission longue durée : +12 mois
Démarrage : ASAP
Rythme Hybride : 2/3 jours de TT
Contexte et objectifs :
Au sein de la BU Environnement / Projets, la mission consiste à participer au développement et à la maintenance logicielle de chaînes de traitement océanographiques existantes, ainsi qu'à la mise en œuvre et à l'évolution d'outils logiciels utilisés pour l'analyse et la valorisation des données issues de missions spatiales.
Ces outils sont employés à la fois pour le développement de chaînes de traitement opérationnelles et par des ingénieurs à profil scientifique pour l'analyse et l'exploitation de données destinées aux agences spatiales (CNES, ESA) et à la Commission européenne (notamment dans le cadre du programme Copernicus Marine Service).
Les développements sont réalisés principalement en Python, en s'appuyant sur les technologies de l'écosystème Pangeo ), particulièrement adaptées à la manipulation de grandes masses de données scientifiques.
L'objectif de la mission est de moderniser les codes existants, d'intégrer les bonnes pratiques de développement, et d'assurer la pérennité et la qualité du code utilisé dans un environnement scientifique exigeant.
Activités principales :
-Maintenir, faire évoluer et optimiser des chaînes de traitement de données océanographiques.
-Comprendre et moderniser du code existant (Python, Fortran, IDL, C).
-Intégrer les bonnes pratiques de développement (structuration, tests, documentation, gestion de version).
-Collaborer étroitement avec les ingénieurs et scientifiques ayant développé les outils pour comprendre les algorithmes et les besoins métier.
-Participer à la mise en place d'outils modernes pour le traitement massif de données (écosystème Pangeo : Xarray, Dask, Numpy, etc.).
-Garantir la robustesse, la lisibilité et la durabilité du code produit.
Environnement technique :
-Système : Linux
-Langages : Python (principal), Fortran, C/C++, IDL (lecture/maintenance)
-Outils et bibliothèques :
Python scientifique : Numpy, Xarray, Dask
Écosystème Pangeo
Formats de données scientifiques : NetCDF, binaires
Git (gestion de versions)
-Méthodologie : bonnes pratiques de développement, optimisation et qualité de code
Profil recherché :
-Ingénieur expérimenté ou expert (6 ans d'expérience minimum)
-Solides compétences en développement Python et en environnement Linux
-Capacité à comprendre du code scientifique complexe et à le faire évoluer de manière structurée
-Familiarité avec la manipulation de grandes masses de données scientifiques
-Rigueur, autonomie et sens du travail en équipe
-Bonne communication pour interagir avec les scientifiques et comprendre leurs besoins
-Anglais technique (lecture de documentation et rédaction ponctuelle)