At a Glance
- Tasks: Develop and support software solutions for cutting-edge scientific experiments.
- Company: Join Diamond Light Source, the UK's leading synchrotron science facility.
- Benefits: Enjoy 26 days leave, flexible hours, and a great pension scheme.
- Why this job: Make a real impact on scientific research with innovative software solutions.
- Qualifications: Experience in Python and modern software development practices required.
- Other info: Hybrid working model with opportunities for career growth and collaboration.
The predicted salary is between 30000 - 50000 £ per year.
As standard this role offers a hybrid working arrangement with a minimum of 3 days working onsite per week.
About Us
Diamond Light Source is the UK’s national synchrotron science facility. By accelerating electrons to near light-speed, Diamond generates brilliant beams of light from infra-red to X-rays which are used for academic and industry research and development across a range of scientific disciplines including structural biology, physics, chemistry, materials science, engineering, earth and environmental sciences. Software helps to enable the world-leading science performed at Diamond. Our software systems facilitate operations at all levels, including the low-level control of synchrotron and beamline hardware, the planning, execution and monitoring of experiments, data archiving and retrieval, data processing and visualisation, the application for beamtime, and capture of remote experiment plans and samples. Our software engineers work alongside our scientists to develop innovative and robust solutions to keep Diamond at the forefront of scientific research.
About The Role
We now have an opportunity to recruit two Software Engineers in the Data Acquisition Core Team, working at the heart of the redevelopment of the Scientific Software Stack used to run experiments on all Diamond’s beamlines and instruments. Working collaboratively with other software and support teams as well as beamline scientists, this role is fundamental to the development of the updated Software Platform that will be used to manage and carry out Scientific Experiments at Diamond in future. Involving gathering requirements, designing, implementing and deploying software solutions as part of the overall Diamond II software architecture, this role will have a key impact on Science at Diamond going forward. This role offers the opportunity to make significant contributions to the software architecture which Diamond will use to run experiments for many years to come. As a modernisation project, it embraces current industry approaches with an emphasis on leveraging now-standard technologies to provide capabilities previously unavailable to scientists in a managed streamlined environment supporting best practice deployment and DevOps methods. Making use of modern asynchronous coding approaches in Python, as well as Rust and Typescript and web interface technologies such as REST and GraphQL, it aims to develop the foundational components on which higher level Data Analysis and Visualisation elements can rely to provide the tools Scientists need to conduct their experiments and derive the data they need.
Responsibilities
- Working on projects to develop, test, maintain and support software solutions across beamlines in collaboration with SSCC members and beamline scientists.
- Following industry standard software engineering practices to ensure sustainability of software solutions.
- Bringing a problem-solving mindset to the software lifecycle to identify problems early and avoid pitfalls before they become significant.
- Code modernisation activities with reliability, robustness, performance, and portability in mind to meet the needs of the user community.
- Ensuring code is developed in a well-tested way with high coverage and an emphasis on streamlining and automating development processes to support and promote CI/CD approaches.
About You
You will hold a First degree in relevant field, or equivalent, as well as significant experience in the following areas:
- Professional software design and development, ideally in a service based technical software environment.
- Proficiency in modern Python (3.10+) including async methods and familiarity with at least one other higher level programming language (e.g. Rust, Typescript, Java etc.).
- Cloud-native technologies and container orchestration (e.g., Kubernetes, ArgoCD, Helm).
- Developing in a CI/CD driven environment where testing and coverage are significant aspects of development practice.
- Exposure to working with hardware controlling software e.g. EPICS, ideally via the NSLS-II Bluesky/Ophyd library.
- Knowledge/experience of Oauth2 based Authentication flows and rules-based Authorisation approaches such as OPA/OpenFGA.
- Developing software systems in a collaborative environment requiring coordination with other teams across a range of disciplines to ensure good communication and progress.
- Working as part of agile teams in sprints, to ensure best practice and deliver features.
You will also have a technical/theoretical understanding of methods, systems and approaches relating to technical software engineering.
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.
To Apply
Please use the online application process to apply and tell us why you believe you are suitable for this role. The closing date for applications is 15th February 2026; however, we encourage early applications as some candidates may be interviewed before this date.
Software Engineer (Data Acquisition Core) employer: Diamond Light Source
Contact Detail:
Diamond Light Source Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Software Engineer (Data Acquisition Core)
✨Tip Number 1
Get your networking game on! Connect with current employees at Diamond Light Source on LinkedIn or attend industry events. A friendly chat can give you insider info and maybe even a referral!
✨Tip Number 2
Show off your skills in a practical way! If you have a GitHub or personal project that showcases your coding prowess, make sure to mention it during interviews. It’s a great way to demonstrate your experience with Python, Rust, or Typescript.
✨Tip Number 3
Prepare for technical interviews by brushing up on your problem-solving skills. Practice coding challenges that focus on asynchronous programming and cloud-native technologies. We want to see how you tackle real-world problems!
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen. Plus, it shows you’re genuinely interested in being part of the Diamond team.
We think you need these skills to ace Software Engineer (Data Acquisition Core)
Some tips for your application 🫡
Show Your Passion for Science: When writing your application, let us see your enthusiasm for scientific research and how software plays a role in it. Mention any relevant projects or experiences that highlight your interest in the field.
Tailor Your Skills to the Role: Make sure to align your skills with the specific requirements mentioned in the job description. Highlight your experience with Python, async methods, and any other technologies like Rust or Typescript that are relevant to the position.
Be Clear and Concise: Keep your application straightforward and to the point. Use clear language to describe your experiences and achievements, making it easy for us to see why you’re a great fit for the team.
Apply Through Our Website: Don’t forget to submit your application through our website! It’s the best way for us to receive your details and ensures you’re considered for the role. Plus, it helps us keep everything organised!
How to prepare for a job interview at Diamond Light Source
✨Know Your Tech Stack
Make sure you’re well-versed in the technologies mentioned in the job description, especially modern Python and async methods. Brush up on Rust and Typescript too, as they might come up during technical discussions.
✨Showcase Your Problem-Solving Skills
Prepare examples of how you've tackled challenges in software development. Think about times when you identified issues early in the software lifecycle and how you approached them. This will demonstrate your proactive mindset.
✨Understand the Collaborative Environment
Since this role involves working closely with scientists and other teams, be ready to discuss your experience in collaborative settings. Highlight any agile methodologies you've used and how you’ve communicated effectively across disciplines.
✨Familiarise Yourself with CI/CD Practices
As the role emphasises CI/CD, be prepared to talk about your experience with continuous integration and deployment. Share specific tools you've used, like Kubernetes or ArgoCD, and how they’ve improved your development processes.