We are a lean, focused and agile company researching energy generation by inertial fusion. We spun out from the University of Oxford in June 2011 and are based near Oxford. First Light continues to work closely with the academic community, both in the UK and internationally. The company is well-funded by both institutional investors and private individuals.

Inertial fusion for energy generation is a well-established research field and is being pursued in many laboratories worldwide, perhaps most notably in the US at the National Ignition Facility. We are exploring a number of alternative research directions that harness the same fundamental physics, with the prime focus being power generation. Our work to-date has included theoretical analysis, detailed numerical simulation, and experimental validation.

We really believe fusion will be solved in the 2020s. If it’s solved by us, fantastic, if it’s solved by someone else, still great.

Job Description

Role Purpose

We are looking for a Senior Software Engineer with a broad range of experience and strong C++ and Python skills to join the Software Engineering Team. The team is part of the Computational Science and Engineering Department and has an emphasis on core software development, performance, promoting sound software engineering practice, and participating in other development tasks as needed. The team also assures the quality of our software, through the continual review and development of continuous integration, deployment, quality control processes, and software testing platforms and methods.

Accountabilities and deliverables

Our primary numerical physics capabilities include a fluid dynamic solver with adaptively refined finite-volume grids, and additional geometric libraries to treat material interfaces. This code is written in C++, employing thread-based operator parallelism, and is exposed to the end user through a Python interface. We also develop a Fortran code that solves for electric and magnetic fields and the motion of material that those fields produce in a coupled way. This code runs in a distributed memory environment using MPI. Both codes are coupled with several physics modules, including conduction, radiation and microphysics models, which aim to be readily expandable and interchangeable. In addition to the main simulation codes, we also support a significant Python code base of preprocessing, run management, post-processing and analysis scripts to support running simulations and data science activities.

The team takes an agile approach to project management and planning. The Atlassian toolset is employed to both our software-based projects and our continuous integration and quality assurance frameworks.

Essential skills, knowledge and attributes

  • A degree in a relevant technical discipline or equivalent experience
  • Experience of software development of hydrodynamic/CFD or similar physics simulation codes
  • Strong C++ skills
  • Strong Python skills
  • Comfortable developing software on Linux systems
  • Experience of developing, running, testing, and tuning parallel codes e.g. on HPC clusters.
  • An understanding of software engineering best practice and testing methodologies
  • Willingness to provide troubleshooting, bug fixing, and software support to internal users
  • Fast and effective problem-solving skills and a methodical approach to work

Desirable skills, knowledge and attributes

  • Higher degree in a relevant subject
  • Experience of multi-threaded and multi-process parallelism e.g. MPI, OpenMP, HPX
  • Experience of computational geometry
  • Experience with visualisation toolkits such as VTK
  • Fluency in modern Fortran standards
  • Experience of bash shell scripting
  • Experience with databases
  • Familiarity with Python frameworks for web applications e.g. Dash
  • Interest in open source compliance

Benefits

  • On-site working
  • Competitive salary
  • 25 days annual leave + bank holidays
  • Free lunch, snacks and soft drinks
  • Cycle to work scheme
  • Electric vehicle scheme
  • Relocation support considered
  • Generous share options scheme
  • Health and wellbeing scheme
  • 8% employer pension contribution without matching requirements