Ingénieur.e Back-end
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.
Mission confiée
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.
Principales activités
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.
Compétences
Le/la candidat(e) doit avoir une expérience de participation à des projets FOSS existants, à quelque titre que ce soit (développeur(euse), animateur(trice) de communauté, rédacteur(trice) technique, etc.). En fonction de son expérience, nous attendons du/de la candidat(e) qu’il/elle fasse preuve d’autonomie et d’organisation. Une bonne connaissance des bonnes pratiques de développement logiciel, notamment dans le contexte du développement de logiciels libres, est indispensable.
Le/la candidat(e) devra :
– maîtriser Python et les outils de son écosystème (pypi, pip, virtualenvs, etc.),
– connaître l’environnement GNU/Linux, de préférence Debian (ou distributions dérivées),
– être rigoureux dans son organisation quotidienne, notamment avec les outils de gestion de versions (GitLab, GitHub, etc.),
– être à l’aise avec les pratiques des communautés de développement de logiciels libres (organisation distribuée, communication via IRC et listes de diffusion, sprints, etc.).
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.)
Conditions de travail
Nous sommes une équipe de 15 personnes dont 9 personnes pour l’équipe technique (5 developpeurs et 4 sysadmins)
L’autonomie, la transparence et la concertation sont au coeur de nos valeurs (Le projet est libre et Open Source).
La majorité de l’équipe est rattachée au centre Inria de Paris, mais le poste est ouvert à toute localisation en France à proximité d’un centre Inria (Bordeaux, Lille, Lyon, Grenoble, Rennes, Saclay, Sofia Antipolis, Nancy)
Le contrat proposé est un CDD à temps complet de 2 ans, avec perspective de pérennisation.
– Télétravail: 90 jours /an (en moyenne 2 jours par semaine)
– Congés: 35 jours + 10 jours de RTT
– Fourchette de salaire : 30 à 70 k€ selon profil et expérience.
Candidature
Merci d’envoyer votre candidature (CV + Lettre de motivation) à hiring-backend@softwareheritage.org
