Job Description

We are looking for a broad-based software engineer, with strong Python and some C++ experience, to work on the continuous integration system in our growing software team. Our primary software products are a high-speed physics impact simulator written in C++, with a Python front end, and a magnetohydrodynamics simulator written in Fortran. The successful candidate will assist in the running and maintenance of the continuous integration and regression testing system for these products.

The system is based on Atlassian Bamboo and is implemented using Python and bash. You should be familiar with Linux, shell scripting and complex Python systems. Some familiarity with and ability to debug C++ will also be useful. The software products are used internally by the physics and data science teams and, depending on your level of experience, you may also be providing troubleshooting, bug fixing and support to these users, possibly leading to a software development role.



Responsibilities will include

  • Operating, maintaining and extending the continuous integration system
  • Debugging failing automated tests and suggesting solutions
  • Providing troubleshooting and support to users


Essential

  • Degree in physics, maths, engineering, software engineering, computer science or similar
  • Programming experience in an industry context with a focus on Python
  • Good knowledge of shell scripting
  • Some knowledge of C++
  • Familiarity with Linux systems
  • Fast and effective problem-solving skills and a methodical approach to work
  • Strong communication and interpersonal skills


Desirable

  • Experience with a broad range of CI technologies including Javascript & containers
  • Experience with physics simulation codes
  • Experience of parallel codes and distributed memory high performance computers
  • Experience with Atlassian Bamboo
  • Demonstrated ability to deliver to agreed objectives