Location: Harwell, Oxfordshire – Primarily onsite with some remote work options
About Us
Diamond Light Source serves as the UK’s national synchrotron science facility, where electrons are accelerated to near light-speed to create intense beams of light ranging from infra-red to X-rays. These beams support a wide range of academic and industrial research across various scientific fields, such as structural biology, physics, chemistry, materials science, engineering, and the environmental sciences. Diamond is currently undergoing a major upgrade, known as Diamond-II, which aims to introduce a new machine, beamlines, and a comprehensive series of enhancements in optics, detectors, sample environments, and computing, aiming to produce a more brilliant and high-energy light source.
About the Data Acquisition Group
The Data Acquisition (DAQ) Group at Diamond focuses on developing software that interfaces with and orchestrates hardware to configure, conduct, and monitor experiments, while also managing and formatting scientific data. Collaborating closely with scientists, and motion and controls engineers, the group continually enhances software for data acquisition and real-time monitoring and visualization. Our facility’s experiments can produce tens of terabytes of data daily.
Data acquisition is currently facilitated through GDA, our open-source software package, which organizes and runs experiments, captures, visualizes, and stores data. GDA, a client-server application written in Java using the Eclipse RCP framework, interfaces with beamline hardware via EPICS to provide monitoring and control functions. A GDA client offers both a GUI and Python scripting capabilities for local experiment control.
In preparation for enhanced scientific capabilities expected with Diamond-II, Data Acquisition Software is being upgraded to a service-based architecture. The new Acquisition Platform, Athena, will be configured to support cutting-edge beamlines with an improved Web UI replacing the Eclipse UI. Over the coming years, existing beamline software will transition from GDA to Athena.
About the Role
We are seeking a Software Engineer to join the Diamond Data Acquisition (DAQ) group, contributing to the development and support of data acquisition software utilized in experiments leveraging single crystal X-ray diffraction for macromolecular crystallography (MX) studies.
At Diamond, MX setups are highly automated, allowing for remote experiment planning and execution. This role presents a unique opportunity to advance bespoke software for autonomous experimentation.
The MX DAQ team has progressed in migrating beamlines from GDA to Athena. As a Software Engineer, you will work collaboratively within the DAQ Group, supporting various experimental techniques and enhancing DAQ capabilities. You will engage with scientists to translate scientific capabilities into software specifications and collaborate with controls, data analysis, and information management teams to realize these requirements. Your efforts will aid the DAQ Core Team’s modernization of the Acquisition Platform, and you may participate in international collaborations, sharing best practices with other facilities and synchrotrons.
Working at Diamond is both challenging and diverse. With the ongoing upgrade to the beamline software architecture, you’ll work with cutting-edge technology and methodologies, like containerisation, service-oriented software, and modern Python paradigms including AI/ML. The new architectural approaches promise enhanced cross-group and international collaborations.
About You
The ideal candidate will have a degree in a STEM field or equivalent, with experience in the full Software Development Lifecycle using a modern high-level language, alongside an understanding of good software and usability design principles.
Experience developing software to control and monitor remote hardware in scientific, industrial, military, or home automation sectors would be beneficial. Familiarity with challenges and solutions typical to these applications is preferred.
Although this role focuses on experiment configuration, monitoring, scientific instrument orchestration, and data collection—not data processing or analysis—familiarity with large, complex code bases, Python 3 (especially for asynchronous computing), Java, Spring, JMS middleware, Java RMI, the HDF5 file format, the Eclipse RCP platform, REST, and Kubernetes would be advantageous.
Candidates should demonstrate strong communication, interpersonal, and analytical skills, with an interest or background in science. Experience with Agile software delivery processes would also be beneficial.
To Apply
Please apply using our online application process and tell us why you are a suitable candidate for this role.
The initial application closing date is 24th November 2024. However, applications will be reviewed and interviews conducted on an ongoing basis until the position is filled