Software Engineer
Summary
A 12-month onsite contract in Cambridge maintaining and enhancing Python backend services for a specialist engineering and data collection environment. The engineer integrates sensors and recording equipment, improves distributed data systems and REST APIs, and handles Linux systems and operational troubleshooting.
Location: Cambridge, UK
Contract: 12 months
Working pattern: Full-time, 40 hours per week; 5 days onsite
About the Role
We are seeking an experienced Software Engineer to maintain and enhance software systems supporting a specialist engineering and data collection environment.
You will develop Python-based backend services and tools, integrate connected devices and recording equipment, improve data processing workflows, and ensure the reliability of distributed systems. You will collaborate with software engineers, hardware specialists and research teams to deliver robust, maintainable solutions.
Key Responsibilities
- Develop and maintain Python software, backend services and automation tools.
- Integrate prototype devices, sensors and recording equipment into existing software platforms.
- Improve distributed data collection systems, REST APIs and concurrent processes.
- Maintain Linux environments, shell scripts, network configurations and system monitoring.
- Build tools for data validation, processing and quality assurance.
- Deploy and test software upgrades, troubleshoot onsite issues and perform root-cause analysis.
- Collaborate with engineering teams to scope work, estimate tasks and maintain code quality.
- 8+ years of professional software engineering experience.
- Hands-on experience with Linux and shell scripting.
- Experience developing or supporting distributed systems, REST APIs and concurrent applications.
- Strong networking fundamentals, including IP networking, TCP/IP, VLANs and network topology.
- Experience with FastAPI or a comparable Python backend framework.
- Working knowledge of time synchronisation.
- A degree in Computer Science or a related field, or equivalent professional experience.
- Hardware integration, embedded systems or multimedia sensors.
- Audio, image or video formats.
- Data acquisition, validation and processing.
- Relational, graph or NoSQL databases.
- Software and hardware testing frameworks.
- Windows systems administration.
Important: This is a hands-on software engineering position focused on backend development, systems integration, data collection and operational troubleshooting. It is not primarily a machine learning model development or frontend engineering role.
Candidates must be comfortable working onsite five days per week across the required Cambridge-area sites for the duration of the 12-month contract.