Software Engineer – Experimental Automation & Data Systems
At Zero Point Motion, software is not an accessory.
It is the connective tissue between hardware, experiments, and insight.
This role exists to build automation, data systems, and tools that allow a small team to run complex experiments, handle large datasets, and learn faster than competitors.
If you enjoy coordinating software with real hardware, extracting structure from messy data, and building tools that scientists and engineers actually rely on, this role is for you.
The Role
As a Software Engineer – Experimental Automation & Data Systems, you sit at the intersection of hardware and software, experiments and data, automation and usability.
You will work closely with experimental physicists, MEMS engineers, photonics engineers, electronics engineers, and FPGA developers to make complex physical systems observable, automatable, and scalable through software.
This is not a pure backend role and not a pure data science role. It is about making real experimental systems work better - reliably, repeatedly, and at scale.
What You’ll Do
Experimental automation & control
Build software to automate experimental setups and test rigs
Apply robotics-style thinking to experiments, including:
sequencing and orchestration
state machines
coordination of multiple hardware elements
Interface directly with sensors, actuators, electronics, embedded systems, and FPGAs
Design control software that is robust to failure, timing issues, and imperfect hardware behaviour
Data systems & analysis
Design systems to handle large experimental datasets generated by real hardware
Build pipelines for:
data ingestion
processing
analysis
visualisation
Apply mathematics and statistics to extract signal from noisy, real-world data
Ensure data is trustworthy, traceable, and reproducible
Use machine learning or generative AI where it genuinely adds value (nice to have, not required)
Coding & architecture
Write high-quality Python as a primary language for automation, data pipelines, analysis, and tooling
Use C and/or C++ where performance, latency, or hardware interfaces demand it
Be comfortable working close to hardware (drivers, protocols, timing constraints)
Design software architectures that:
remain debuggable under pressure
avoid unnecessary abstraction
support rapid iteration without becoming fragile
Internal tools & GUIs
Build clear, usable GUIs and tools for internal users (scientists and engineers)
Care about UX because bad tools slow teams down and introduce errors
Make complex systems easier to operate, debug, and trust
Operational responsibility
Own the software you ship:
when it breaks
when experiments stall
when data is corrupted
Improve systems over time rather than treating them as throwaway prototypes
Expect your code to run unattended and be used daily by others
Tests are expected where failure would block experiments, waste lab time, or corrupt data
You are expected to explain and defend your design decisions in code reviews with experimental and hardware engineers
Required Background
You should have strong experience in several of the following:
Software development in Python (non-negotiable)
Coordinating software with real hardware or experiments
Handling large datasets and building analysis pipelines
Strong mathematical grounding
Robotics, autonomy, control systems, or similar domains
Embedded, low-level, or hardware-facing software exposure
Building internal tools or GUIs for technical users
Experience with ML / AI is a bonus, not a requirement
Who This Role Is For
This role is for someone who:
Thinks in systems, not silos
Enjoys debugging real-world complexity
Is comfortable being close to hardware
Cares about usability as much as correctness
Takes ownership of problems end-to-end
Has supported software they wrote after it was deployed
Is comfortable being accountable when things break
What This Role Is Not
This is not:
a pure web, SaaS, or framework-driven role
a narrowly scoped backend position
a job for people who only write one-off scripts and move on
a place for over-abstracted code no one can debug
a role for people who wait for perfect specifications
What Success Looks Like
After 6–12 months:
Experiments that were previously manual are automated and reliable
Large experimental datasets are easier to analyse, trust, and reuse
Scientists and engineers rely on your tools daily
Learning cycles are noticeably faster
Software reduces friction instead of creating it
The company can run more experiments, with fewer people, more confidently
Working with us
Compensation: Our framework is built on fairness and transparency, with regular reviews to reflect growth and performance.
Benefits: Share options, pension, and private medical insurance.
Culture: A deep-tech rocketship backed by leading investors. We’re building breakthrough technology with real commercial impact. Pace is high. Standards are higher.
Zero Point Motion is determined to foster belonging and empowerment at work. We are committed to providing a work environment where there’s a zero-tolerance approach to discrimination, and everyone is treated with respect. Equity, diversity and inclusion are central to our mission, and we strongly encourage candidates of all different backgrounds and identities to apply. If you need assistance or an accommodation due to a disability, please contact us.
- Department
- Technical
- Locations
- Bristol
About Zero Point Motion
Join Zero Point Motion and help redefine sensing at the intersection of hardware, photonics, and AI. Shape the future with real-world impact.
Already working at Zero Point Motion?
Let’s recruit together and find your next colleague.