2020-02294 - Back-end developer for Software Heritage

Contract type : Fixed-term contract

Renewable contract : Oui

Level of qualifications required : Graduate degree or equivalent

Fonction : Temporary scientific engineer

Level of experience : From 3 to 5 years

Context

Software Heritage is an ambitious nonprofit, entirely Free/Open Source Software (FOSS) project that aims at collecting, organizing, preserving for the very long term, and sharing all publicly available software in source code form, together with the corresponding complete development history (e.g., from a Version Control System) where available. The Software Heritage archive already contains about 6 billion unique source code files, retrieved from more than 90 million software projects.

Les bureaux de Software Heritage se trouvent au Centre de Recherche Inria Paris, situé au 2, rue Simone Iff, à Paris.

Assignment

We are looking for a back-end developer to grow our development team, and work on:

  • implementing new Software Heritage features according to project roadmap and specifications provided by the management team,
  • maintaining a healthy code base using state-of-the-art software development best practices (DVCS, continuous integration, unit tests, refactoring, documentation, code review, etc.),

  • actively participating in the FOSS communities of software components used by Software Heritage,

  • design the architecture of upcoming components of the Software Heritage software ecosystem.

Main activities

  • software development for Software Heritage
  • documentation, code review, test and integration
  • active participation in team life
  • interaction with relevant Open Source communities and with Software Heritage partners

Skills

Expected skills for the successful candidate are the followin:

  • Python
  • Good knowledge of GNU/Linux systems
  • Working knowledge of Postgres or other RDBMS
  • Working knowledge of distributed software architectures
  • Design principles of REST and microservices architectures
  • Good English level (written and oral)
  • Good relational and communication skills

Working knowledge of one or more of the following techniques and technologies would be a plus:

  • Experience with large scale object storage solutions (Ceph, Cloud-based blob
    storage, ZFS, Swift, etc.)
  • Container technologies (docker, docker-compose, kubernetes, etc.).
  • System programming in C
  • Rust programming language
  • Functional programming
  • Experience with distributed scheduling technologies (RabbitMQ, Kafka, etc.)

All the code developed as part of this position will be released under a FOSS license, usually copyleft (GPL3 or AGPL3). Upstream contributions to FOSS products we depend upon are strongly encouraged.

Benefits package

  • Subsidised catering service
  • Partially-reimbursed public transport

Remuneration

En fonction des diplômes et de l'expérience professionnelle