2022-04521 - 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 9 billion unique source code files, retrieved from more than 150 million software projects.

Software Heritage office are at Inria Paris Research Center, located 2 rue Simone Iff in Paris.

Assignment

We are looking for a senior 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, mainly in Python
  • 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 following:

  • 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

  • Subsidized meals
  • Partial reimbursement of public transport costs
  • Leave: 7 weeks of annual leave + 10 extra days off due to RTT (statutory reduction in working hours) + possibility of exceptional leave (sick children, moving home, etc.)
  • Possibility of teleworking (after 6 months of employment) and flexible organization of working hours
  • Professional equipment available (videoconferencing, loan of computer equipment, etc.)
  • Social, cultural and sports events and activities
  • Access to vocational training
  • Social security coverage

Remuneration

based on degree and experience