About the position
Context
Le projet Software Heritage
Software Heritage est un projet d’archive universelle du code source logiciel, dont l’objectif est de récupérer, préserver dans le très long terme et partager la totalité du code source qui est publiquement disponible, avec l’historique de son développement (p.ex., comme stocké dans des systèmes de gestion de version). L’archive de Software Heritage contient déjà plus de 27 milliards de fichiers source uniques et 5 milliards de commits, récupérés à partir de plus de 300 millions de projets de développement logiciel. L’initiative Software Heritage, hébergée par la Fondation Inria est un projet entièrement logiciel libre (FOSS) et à but non lucratif.
Assignment
Nous recherchons un·e ingénieur·e back-end pour rejoindre notre équipe de développement. Le/la candidat(e) doit maîtriser le langage de programmation Python et manifester un vif intérêt pour les logiciels libres et open source (FOSS). Il/elle intégrera notre équipe d'archivage et travaillera dans un premier temps à l'optimisation de notre plateforme d'ingestion Git, puis à l'extension de l'archivage à de nouvelles sources de code source.
Main activities
En tant que membre de l'équipe Software Heritage, le/la candidat(e) participera au
développement logiciel de la plateforme Software Heritage. Dans le cadre de ce poste, le/la candidat(e) travaillera principalement sur :
1. la mise en œuvre de nouvelles fonctionnalités pour Software Heritage conformément à la feuille de route du projet et aux spécifications fournies par l'équipe de direction,
2. la maintenance d'une base de code saine en utilisant les meilleures pratiques de développement logiciel (DVCS, intégration continue, tests unitaires, refactoring, documentation, revue de code, etc.),
3. la participation active aux communautés FOSS des composants logiciels utilisés par Software Heritage,
4. la conception de l'architecture des futurs composants de l'écosystème logiciel de Software Heritage.
Skills
Les compétences suivantes sont attendues :
- Python
- Bonne connaissance des systèmes GNU/Linux
- Connaissance pratique de Postgres ou d’autres SGBDR
- Connaissance pratique des architectures logicielles distribuées
- Principes de conception des architectures REST et microservices
- Connaissance pratique des technologies de conteneurisation (Docker, Docker Compose, Kubernetes, etc.).
- Bon niveau d'anglais (écrit et oral)
- Bonnes aptitudes relationnelles et de communication
La connaissance et l'expérience des éléments suivants seront considérées comme un plus :
- Expérience des solutions de stockage d'objets à grande échelle (Ceph, stockage blob dans le cloud, ZFS, Swift, etc.)
- Langage de programmation Rust
- Programmation fonctionnelle
- Expérience des technologies de planification distribuée (RabbitMQ, Kafka, etc.)
This listing was collected from a public source and is reproduced here for
information only. Always confirm the details on the original posting before applying.
View the original posting