ENGINEERING AND STRUCTURAL GEOLOGY SOFTWARE

Research Software Engineer

Location: Guildford, Surrey

Apply Now

Company Information

Our organisation was created in 1990 as a vendor of integrated modelling software to the oil and gas industry. Since then we have built up a hugely successful business with more than 450 clients across the world, ranging from small consultancies to major multinational corporations. In our last trading year the company turned over £66m and has significant cash reserves which are to be held for future expansion.

 

In this regard, we see an exciting future which embraces the challenges around energy transition technologies and renewables. In addition, we see huge scope in applying the lessons that we have learnt within this industry to other sectors, notably mining, banking, and medicine.

 

With this in mind, the company is on the cusp of a major expansion. Part of this involves the relocation of the headquarters from Edinburgh to Guildford in Surrey, to take advantage of the improved travel links, recruitment possibilities, and links to London. The new Guildford office will become the company headquarters in September 2025.

 

PE Limited currently has 100 staff, split roughly between technical support, providing solutions for customers, product development, and contract and licensing administration. The technical staff are all highly qualified, with almost everyone having at least a Masters qualification and many holding PhDs.

About this Vacancy

PE Limited is seeking an experience Software Engineer to join its Innovation team — a forward-looking group within the wider Development and AI Engineering team focused on developing next-generation capabilities across a variety of technologies from AI to digital twins.

This role is ideal for a strong software engineer who enjoys collaborating with scientists and researchers, and who excels at transforming early-stage prototypes into reliable, scalable, and maintainable software systems. This is not a research role that includes some coding. It is a software engineering role at the frontier of innovation — ideal for software engineers who enjoy turning new ideas into reliable, working systems that make an impact.

You will:

  • Take ownership of maturing research prototypes into robust, production-grade software.
  • Translate fast-moving exploratory code (e.g., in Python, Julia, R) into performant, tested implementations using compiled languages such as C++, C#, Fortran, or others suited to production needs.
  • Contribute to the early-stage exploration of technologies such as AI/ML/RL, optimization, digital twins, control systems, agent-based systems, and probabilistic programming.
  • Partner closely with researchers, domain scientists, and engineering teams to identify technically promising ideas and build high-quality software around them.
  • Help ensure that research outcomes are production-ready by integrating testing, documentation, and code quality standards early in the pipeline.
  • Participate in cross-functional design, implementation, testing, and deployment of our software toolkits.

Qualifications

  • An advanced degree (Master’s, PhD, or equivalent experience) in a technical field such as Physical Sciences, Engineering, Geoscience, Mathematics, or Computer Science.

  • Strong professional experience as a software engineer, ideally in production environments involving scientific or technical software.

  • Expertise in one or more production-grade compiled languages (e.g., C++, C#, Fortran), with the ability to write high-performance, maintainable, and scalable code. Familiarity with high-level languages (e.g., Python, Julia) is beneficial for working with research prototypes but is not the primary focus.

  • A solid foundation in software engineering principles, with a focus on modular design, testing, documentation and maintainability.

  • Strong communication skills and experience collaborating across research and engineering teams.

  • Organised, proactive, and comfortable operating in a fast-paced, exploratory environment.

Additional technical competency across a selection of the following disciplines may be beneficial:

  • Experience with scientific computing, numerical methods, or computational modelling.
  • Familiarity with emerging and interdisciplinary technologies such as: machine learning, digital twins, agentic systems, reinforcement learning, probabilistic computing, or control systems.
  • Experience working in or alongside an applied R&D or innovation-focused team.

Package

We offer an exceptional package which includes salary, performance related bonuses, other benefits and relocation assistance (where applicable). The company encourages and structures its salary based on personal performance and contribution to the success of others.