remote
Research Software Engineer / Physicist Data Acquisition Systems - UCL
Software Engineer
Develop and maintain high‑performance data acquisition and control software for particle‑physics experiments, integrating hardware (FPGA, sensors) with Python/C++ pipelines on Linux systems.
About the role
Key Responsibilities
- Design, implement, and optimise data acquisition software for beam‑line instrumentation using Python, C++ and LabVIEW.
- Develop firmware and interface code for FPGA‑based front‑end electronics, ensuring low‑latency, high‑throughput data capture.
- Integrate acquisition systems with Linux servers, manage data pipelines, and automate processing workflows.
- Collaborate with physicists and engineers to translate experimental requirements into robust software solutions.
- Maintain version control, documentation, and testing frameworks (Git, CI/CD) to support reproducible research.
Requirements
- Strong programming experience in Python and C++ with a focus on scientific or instrumentation software.
- Hands‑on experience with FPGA development, LabVIEW, and hardware‑level data acquisition.
- Proficiency in Linux system administration and scripting for deployment and automation.
- Solid understanding of physics experiments, signal processing, and real‑time data handling.
- Excellent problem‑solving skills, ability to work in a multidisciplinary team, and good written communication for documentation.