Engineer F/H: Development of a Software Architecture

Inria
Talence, France
about 2 months ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Compensation
€32,304.0
Working hours
Regular working hours
Languages
English
Job source

Tech stack

Information Theory Software Engineering Enterprise Software Applications

Job description

With the help of Alexandra Jurgens (Inria) and a to-be-recruited postdoctoral researcher (Inria), the recruited engineer will work to analyze an existing code base and identify the relevant code to be incorporated into a package appropriate for broad dissemination. The requirements for the package will be formalized in discussion with the team, but at minimum this package will perform kernel embedding of conditional distributions on arbitrary time series input, perform dimension reduction, and produce basic visualization. Additional goals for this position are to perform iterative improvements to the package, including but not limited to: the ability for end users to select hyper-parameters ‘on the fly’, an advanced visualization suite, and the integration of new mathematical methods (for instance, calculation of new statistical descriptors) as developed together with the team., Responsibilities : The person recruited will be responsible for software development and will adopt best practices from the team including continuous integration and reproducibility.

Requirements

Technical skills: A major activity of this work is software development and publishing in Python. Knowledge of (or interest in learning) software engineering best practices is required. The best candidate would be excited to play an active role in identifying new technologies to improve the software package during development.

Interdisciplinary skills: Ability to communicate with colleagues from mathematics, physics, and ecology will be necessary. In particular, interest in physics-especially in complexity, chaos, information theory, and/or stochastic thermodynamics-or nonlinear dynamics would be an advantage.

Languages: Candidates must be at ease in scientific English and eager to publish their results in scientific journals. The team uses English.

Benefits & conditions

We are developing a software package based on existing code that implements our inference algorithm using kernel embedding of conditional probability distributions [4, 8]. The algorithm takes in arbitrary time series (including observations from multiple sources or heterogeneous data) and returns the inferred causal state set in the form of similarity matrices, which are then dimension reduced for visualization and analysis [8]. This software package is to be disseminated to the public. It is also to be used in the framework of a partnership between Inria and Inrae to improve modeling of carbon flux dynamics in ecosystems.

[1] P.W. Anderson. More is different. Science, 177(4047):393-396, August 1972.

[2] M. Gu, C. Weedbrook, A. Perales, and M. Nielsen. More really is different. Physica D, 238(9-10):835-839, May 2009.

[3] James P. Crutchfield. The calculi of emergence: Computation, dynamics, and induction. Physica D, 75:11-54, 1994.

[4] Nicolas Brodu and James P. Crutchfield. Discovering causal structure with reproducing-kernel Hilbert space \epsilon-machines. Chaos: An Interdisciplinary Journal of Nonlinear Science, 32(2):023103, 02 2022.

[5] Samuel P. Loomis and James P. Crutchfield. Topology, convergence, and reconstruction of predictive states. Physica D: Nonlinear Phenomena, 445:133621, 2023

[6] C. R. Shalizi. Causal Architecture, Complexity and Self-Organization in Time Series and Cellular Automata. PhD thesis, University of Wisconsin, Madison, Wisconsin, 2001., * Document use cases and define test cases based on interviews and conversations with team

  • Analyze existing code and identify code to be incorporated into the package
  • Define and implement a software package that meets required use cases and is validated on test cases, with appropriate documentation
  • Disseminating as a package on a PyPi
  • Iteratively improve package based on new methods developed in discussion with the rest of the team

Additional activities:

  • Present progress of ongoing work to colleagues and partners
  • Suggest new directions for package improvements based on technical knowledge
  • Discuss with scientific collaborators, * Subsidized meals
  • Partial reimbursement of public transport costs
  • 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
  • Social security coverage

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on inria.fr

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

1:30 min

Introduction to software quality assurance in enterprise applications

Lilia Gargouri Lilia Gargouri · WWC Europe 2026

1:22 min

Understanding software engineering as more than just coding

Lilia Gargouri Lilia Gargouri · WWC Europe 2026

2:21 min

Reducing complexity by selecting and excluding alternatives

Philipp Belcredi Philipp Belcredi · WWC 2025

3:29 min

Bridging physics domain knowledge and software engineering

Andreas Kaldun Andreas Kaldun · WWC 2023

1:35 min

Mandatory EU time tracking challenges for small business operations

Alija Nuredini Alija Nuredini · WWC Europe 2026

1:29 min

Undervaluing product design by treating software engineers as generic programmers

Marlene Roth Marlene Roth +1 · WWC 2025

Videos

See all

Related articles

See all