 
        
        About the Role
We now have an opportunity for a software engineer within the DAQ group team that supports and develops software for Diamond’s Soft Condensed Matter (SCM) and Crystallography (X) science groups on a 4-year fixed term basis. The work is primarily focused on developing newAthena software for the Soft Condensed Matter and Crystallography beamlines.
Athena is the modernised experiment control/orchestration software platform for Diamond-II. In development with up-to-date technologies and software development practices, it aims to be easier to set up, support, extend and develop than GDA, which it is intended to replace.
Central to the Athena architecture is Bluesky and Ophyd-Async, a set of Python libraries for experiment control and collection of data. It is currently used at several facilities around the world.
You will be responsible for developing and transitioning the experimental capabilities of GDA, to Athena, whilst offering new experimental capabilities to the beamlines.
Once the Athenasoftware is in use during userexperiments you will provide ongoing support and extension of the DAQ capabilities. You will also be required to work with your teammates to provide support to the existing SCM+X beamlines and assist with their migration from GDA to Athena.
As a software engineer in the DAQ Group you will work alongside other software engineers and scientists supporting a range of experimental techniques and developing DAQ capabilities in an open and collaborative environment. You will be required to interact with scientists and translate their specifications for scientific capabilities into software requirements.
You will liaise with controls, data analysis and information management engineers to put these requirements into action. You will collaborate with the beamline scientists and DAQ Core team members to deliver SCM and Crystallography DAQ features using the new Athena services and provide insight to the Core team to help them to refine Athena’s generic capabilities. You will also potentially participate in international collaborations within this domain, sharing best practice and supporting other facilities and synchrotrons within the collaboration.
Applicants will be considered at either Data Acquisition Software Engineer or Senior Data Acquisition Software Engineer level, depending on the strength of your skills, experience and qualifications.
Applicants will be considered at either Data Acquisition Software Engineer or Senior Data Acquisition Software Engineer level, depending on the strength of your skills, experience and qualifications.
About the Data Acquisition Group
The Data Acquisition (DAQ) group develops software to interface with and control the hardware which allows experiments to be performed and monitored as well as guiding the end user to tools for data reduction and analysis. The group works closely with scientists, controls, data analysis and information management engineers to continuously develop and improve software solutions for scientific data acquisition and on-the-fly monitoring and data analysis.
The current DAQ software platform is a client-server application called GDA (Generic Data Acquisition) which is written in Java and uses the Eclipse RCP framework. To facilitate the advanced scientific capabilities that are expected from Diamond-II (the planned Synchrotron upgrade) the DAQ software is being modernised and will result in a service-based architecture. The new Acquisition Platform, Athena, will be configured to deliver advanced state of-the-art
Flagship experimental capabilities for a collection of Beamlines. Over the next few years existing beamline software will be migrated from GDA to Athena. 
About You
Suitable candidates will hold an appropriate first degree in a STEM subject, preferably with a relevant MSc or PhD. You will demonstrate experience in the Software Development Lifecycle, using a modern high-level language, and with an understanding of good software design principles and design for usability.
Knowledge and experience of developing software to control and monitor scientific or industrial equipment or IoT is preferable. Knowledge and experience of synchrotron or neutron central facility experiments is preferable.
Experience of working with large and complex code bases would be a distinct advantage, as would experience of Python, the HDF5 file format, Typescript, UI development, Java, the Eclipse RCP platform, REST and Kubernetes and asynchronous computing.
You should display good communication, interpersonal and analytical skills, with a personal interest or experience in science.
Benefits
Diamond offers an exceptional benefits package to support staff in achieving a positive work/life balance. This includes 26 days annual leave plus Christmas closure, public holidays, 2 annual volunteering days and flexible working hours. We also offer an excellent defined benefit pension scheme. Staff also have access to a range of amenities on site including a nursery, cafes, a restaurant and sports and leisure facilities. A relocation allowance may also be available where applicable.
As standard this role offers a hybrid working arrangement with a minimum of 3 days working onsite per week.