Data Acquisition Software Engineer
The Data Acquisition Software Product
Diamond requires a continual technology refresh to deliver cutting edge experimental capabilities. An essential component of Diamond’s technical estate is its Data Acquisition (DAQ) software, GDA, which is responsible for:
•Programmatic orchestration of beamline experiments;
•Capture and storage of experimental data;
•Real-time visualisation of collected data.
GDA is a client-server application written in Java, making use of the Eclipse RCP framework. The GDA server communicates with beamline hardware via an EPICS interface to provide a control and monitor capability and deliver high-level experimental functions. The GDA client provides both a GUI and a Jython scripting capability for users to control experiments.
We are looking for
Our Data Acquisition Software team are looking to recruit two Software Engineers to join the team supporting and developing the GDA software, which is used throughout the organisation to conduct scientific experiments.
You will have a personal interest or work experience in physics and science, with strong analytical and communication skills.
Successful candidates should be able to demonstrate experience in the full Software Development Lifecycle, using Core Java and Python for back-end application development, and an understanding of good software design principals and design for usability.
Experience of working with large and complex code bases would be an advantage. Experience of JMS message-oriented middleware, Java RMI, the HDF5 file format and the Eclipse RCP platform would be desirable. A degree level qualification in science, engineering, mathematics or computer science is essential.
As a member of the DAQ Software team you will be working alongside a bright and motivated team in an open and collaborative environment. You will be required to interact with beamline scientists and external users to understand their needs; implement new functionality, and enhance and streamline existing functionality.