Software Engineer - Orchestration
On-siteOxford, England, United Kingdom
Job Summary
Design and build software that orchestrates autonomous laboratory systems, scheduling work across instruments and managing workflow execution with bounded, recoverable behavior. Develop the agentic layer covering tool interfaces for LLM agents, planning logic, and guardrails for hardware interactions, while closing control loops through vision and force feedback to verify actions rather than assume success. Integrate with laboratory hardware including robot arms and liquid handlers, and build internal Python libraries with simulation capabilities to test logic without occupying the lab. Translate manual protocols into automated workflows by working directly with scientists, and support commissioning and debugging in the lab where software problems often only appear during hardware movement.
Required Qualifications
- Solid software engineering fundamentals, covering version control, code review, CI/CD, debugging, and API design.
- Fluency with design patterns and architectural structure, at both the object level and the system level, together with the judgement to apply them where they earn their place rather than by reflex.
- Strong professional Python, including type hints, testing, packaging, async where appropriate, and the sense to know which of these a given problem needs.
- Experience designing and building systems rather than scripts, with a track record of code that other people have depended on and maintained.
- Practical experience using agentic AI coding tools such as Claude Code, Cursor, or equivalent, with a considered view of where they help, where they fail, and how to review their output.
- Experience integrating with external systems, whether hardware, third-party APIs, or messy legacy interfaces.
- Comfort working with ambiguity, in an R&D setting where requirements are discovered through building.
- Strong communication and collaboration skills within a multidisciplinary team, including the ability to work with non-software specialists and translate between their needs and technical constraints.
Desired Qualifications
- Experience in a startup or small team environment, where you owned features end to end and shipped without much scaffolding around you.
- Experience in a larger engineering organisation, where you worked within established review, release, and quality processes. We value people who have seen both, and can tell which mode a given problem calls for.
- Experience building on LLM APIs in production, including tool use, structured output, evaluation, and cost and latency management.
- Familiarity with the Model Context Protocol or similar agent tooling standards.
- Experience with concurrency, distributed systems, or job scheduling, particularly where tasks contend for shared physical resources.
- Experience with robotics software, ROS, or real-time and hardware-adjacent control systems.
- Experience with laboratory automation software, LIMS, ELN systems, or scientific data management.
- Exposure to computer vision, sensor fusion, or learned control policies, including vision-language-action models.
- Familiarity with containerisation and infrastructure tooling such as Docker and Kubernetes.
- Background in or exposure to biology, chemistry, or another experimental science.
- Open source contribution, especially to scientific Python or laboratory automation projects.
Hiring someone like this?
Get your role in front of qualified candidates on Sorce.