Fortran Developer with background in Math

$

One of the world's largest providers of products and services to the energy industry has a need to develop and support enterprise information system in Oil & Gas domain.

  • Responsibilities:

    We are looking for a Software Engineer to contribute to the development of a global optimization capability for petroleum surface networks within the NEXUS reservoir simulator.
    This role is product-focused and centers on building, integrating, and hardening a Bayesian Optimization (BO)–based engine that complements the existing gradient-based GRG optimizer. The feature enables reservoir and production engineers to identify more robust and globally optimal well control strategies—such as gas-lift allocation and choke settings—when dealing with highly non-linear and multimodal network behavior.
    You will work as part of a product engineering team, collaborating closely with domain experts, QA, and platform engineers to deliver maintainable, performant, and user-ready functionality into a production-grade simulator.
    What You’ll Work On:
    Implement and integrate Bayesian Optimization workflows within the existing NEXUS surface network optimization framework
    Develop and maintain Gaussian Process–based surrogate models used during optimization runs
    Integrate acquisition functions that support reliable decision-making across challenging objective landscapes
    Implement initial sampling strategies to ensure stable and repeatable optimization outcomes
    Contribute to performance tuning, memory efficiency, and parallel execution in large simulation workloads
    Improve code robustness, testability, and maintainability in a long-lived product codebase

  • Mandatory Skills Description:

    Programming & Implementation:
    Fortran 90/95:
    Experience working with modules, allocatable arrays, and structured Fortran code
    Ability to modify and extend existing numerical code responsibly

    Numerical Computing:
    Numerical linear algebra fundamentals
    Practical use of Cholesky decomposition and triangular solves
    Experience using LAPACK routines
    Awareness of numerical stability and basic conditioning issues

    Optimization & Modeling:
    Gaussian Process regression (practical level):
    Understanding of GP concepts (mean, covariance, kernels)
    Ability to implement or adapt GP prediction code with guidance
    Bayesian Optimization concepts:
    Familiarity with acquisition functions such as Expected Improvement (EI) and Upper Confidence Bound (UCB)
    Understanding of exploration vs. exploitation from a user-outcome perspective

    Sampling & Experiment Design:
    Latin Hypercube Sampling (LHS)
    Experience implementing or using space-filling designs for initial parameter exploration

    Product & Engineering Expectations:
    Focus on reliability, usability, and repeatability rather than experimental novelty
    Write clear, maintainable code aligned with existing platform standards
    Ensure features behave predictably across a wide range of customer models
    Collaborate with QA and support teams to diagnose and resolve field issues
    Be mindful of performance, memory usage, and MPI execution constraints

Required languages

English B2 - Upper Intermediate
Published 8 April
59 views
·
2 applications
To apply for this and other jobs on Djinni login or signup.
Loading...