Production Engineer for the Coq Platform

Renewable contract : Yes

Level of qualifications required : Graduate degree or equivalent

Fonction : Temporary scientific engineer

About the research centre or Inria department

The Inria center at Université Côte d'Azur includes 42 research teams and 9 support services. The center’s staff (about 500 people) is made up of scientists of different nationalities, engineers, technicians and administrative staff. The teams are mainly located on the university campuses of Sophia Antipolis and Nice as well as Montpellier, in close collaboration with research and higher education laboratories and establishments (Université Côte d'Azur, CNRS, INRAE, INSERM ...), but also with the regional economic players.

With a presence in the fields of computational neuroscience and biology, data science and modeling, software engineering and certification, as well as collaborative robotics, the Inria Centre at Université Côte d'Azur  is a major player in terms of scientific excellence through its results and collaborations at both European and international levels.

Context

The recruited engineer is integrated into the collective of permanent engineers of the institute, represented at the level of a center by the Experimentation and Development Service (SED).

Their main activity is part of large-scale projects on which he is assigned for a given duration, most often within one or more project teams.

The Coq proof assistant provides a formal language for writing mathematical definitions, executable algorithms and theorems, an environment for the semi-interactive development of machine-verified proofs, and a suite of tools for programming safe software from formal models.

The Coq Platform is a distribution of Coq accompanied by a selection of libraries and extensions. The main objective of the Coq Platform is to provide a distribution for developing and teaching with Coq that is: independent of the operating system, reliable, easy to install and complete.

The first assignment within the Coq consortium is for a period of 3 years.

Assignment

Main mission (approximately 90% of their time)

  • Management of software development within the development projects to which the person is assigned
  • Advice and support for experimentation
  • Support and supervision for developers

Specific mission for the first assignment

  • Management of the Coq Platform release cycle
    • coordination with the authors of software packaged in the platform
    • production of artifacts (selection of versions, signed binary packages)
    • communication around releases
  • Improvement of the tools for the production of the platform (scripts, CI, package manager
  • Improvement of the platform release process and possibly of the software at its core (Coq)
    • shared/integrated road map and coordination of the developments of two projects

Collective missions (approximately 10% of their time)

In order to pool their know-how, the recruited person is required to carry out activities useful to the collective of development engineers of the institute.

Main activities

Main activities

  • Design, implementation, and coordination of a mode of operation between developers within the development projects to which the person is assigned
    • Presentation of latest developments and technical choices
    • Identification of user needs
    • Work roadmap throughout the activity
    • Management of bug reports and other development requests, code reviews, integration of new contributions, management of the circulation of code variants from their development branch to the distributed software
  • Work on the production chain of a software, from the source code to the artifacts distributed to users (binaries, installers, docker images, VM, documentation, etc.), including the adaptation of the software to new targets (in particular Linux, Windows and MacOS) and the implementation and maintenance of the necessary continuous integration platforms
  • Writing and presentation of documentation
  • Implementation and maintenance of infrastructures for the collaborative development of software
  • Implementation of training support for developers / users within the team
  • Advice and expertise in technological development for team members / teams / domain

Collective activities

  • One-off training, seminars
  • Vector of good practices in software engineering and experimentation
  • Advice on development projects

Skills

  • Solid knowledge and experience in software development:
    • proficiency in the following programming languages: OCaml, Python, shell script
    • software architecture and programming paradigms, software engineering, best practices and software development tools (versioning, documentation, compilation, packaging, CI, CD, etc.)
  • Proficiency in binary development and distribution on main platforms (MacOS, Linux and Windows)
  • Proficiency in DevOps and DevOps toolchains: continuous integration, development VM, bug tracker, online versions, packaging, distribution.
  • Proficiency in development processes: bug management, internal and external contributions.
  • Code adaptation to other target environments.
  • Soft skills: ability to work under external constraints and pragmatism.

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 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
  • Contribution to mutual insurance (subject to conditions)

Remuneration

From 2692 € gross monthly (according to degree and experience)