# Software Engineer - Orchestration

**Company:** [Ellison Institute of Technology](http://jobs.workable.com/companies/tYoBQmFCuLVKUygNZbHUKp.md)
**Location:** Oxford, United Kingdom
**Workplace:** hybrid
**Employment type:** Full-time
**Department:** AI & Robotics

[Apply for this job](http://jobs.workable.com/view/e790c9da-14bc-4372-affc-e789eb9d8949)

## Description

Join the EIT as a Software Engineer, building the software that makes autonomous laboratories work. You will be part of the AI and Robotics Institute, working within a multidisciplinary team of software, mechanical, electrical, robotics, and AI research engineers, alongside the plant scientists who are our users. 

We are building the execution engine for autonomous laboratories. The central problem is that AI systems are stochastic and laboratory hardware is not. A robot arm holding a plate of live plant tissue needs bounded, repeatable, recoverable behaviour, while the agents deciding what to try next work nothing like that. Your work is the layer in between, turning an agent's intent into a sequence of actions the lab can execute safely, holding it inside what the hardware and the biology allow, and handling what happens when something fails at three in the morning with a fortnight of growth on the line. 

In practice that means scheduling work across instruments that cannot be in two places at once, defining the surface an agent is permitted to touch alongside what needs a human to sign it off, and giving scientists a way to describe a protocol and watch it run. A recurring theme is closing the loop, since assuming a command was obeyed is rarely good enough. Depending on the problem that might mean vision to confirm a dispense, force feedback to seat labware, or bounding the action space of a learned policy so its proposals can be validated before anything moves. We do not expect you to arrive with all of these. We do expect you to be the kind of engineer who is comfortable picking up an unfamiliar technique, trying it, and discarding it if it turns out to be the wrong answer. 

The systems you write control real hardware doing real biology, so correctness, recoverability, and observability matter more here than they do in most software work.

## Requirements

Key Responsibilities 

-   Design and build the software that orchestrates autonomous laboratory systems, including scheduling, workflow execution, state management, error handling, and recovery. 

-   Develop the agentic layer of our platforms, covering tool interfaces for LLM agents, planning and decision logic, and the guardrails and human approval steps that sit around anything touching physical hardware. 

-   Close control loops with sensing, so that the system verifies what happened rather than assuming a command succeeded, and fails in a way that leaves the workcell in a known state. 

-   Develop and maintain integrations with laboratory hardware, covering robot arms, liquid handlers, incubators, imagers, and plate readers, working from vendor SDKs, serial and network protocols, and occasionally sparse documentation. 

-   Build and extend internal Python libraries and services, with attention to clear interfaces, testability, and the ability to simulate hardware so that logic can be developed and tested without occupying the lab. 

-   Design data models and pipelines for experimental data, sample tracking, and provenance, so that results are traceable from raw instrument output back to the protocol and physical sample that produced them. 

-   Work directly with scientists to understand manual protocols, then translate them into automated workflows, iterating as the biology and the hardware both reveal their constraints. 

-   Use AI coding tools as a core part of your workflow, and help establish the practices that make this effective and reviewable across the team, including context management, tooling configuration, testing discipline, and knowing when to stop delegating and write the code yourself. 

-   Contribute to engineering practice across the team, covering code review, CI, testing strategy, deployment, documentation, and the shared standards that keep a fast-moving codebase maintainable. 

-   Support commissioning and debugging in the lab, since a meaningful share of software problems in this domain only appear when the hardware is moving. 

Essential Knowledge, Skills, and Experience  

-   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. 

Desirable Knowledge, Skills, and Experience (in rough order of desirability)  

-   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. 

Key Attributes 

-   Pragmatic about engineering quality, able to judge when a rough prototype is the right answer and when something needs to be built properly. 

-   Comfortable in a fast-paced, experimental "fail-fast" environment, and equally comfortable with the parts of the system that need to be dependable. 

-   Willing to learn unfamiliar technical territory quickly, and to abandon an approach that is not working. 

-   Curious about the science, and willing to learn enough biology to design software that fits the work. 

-   Collaborative and open-minded, with genuine interest in the hardware and AI sides of the system rather than only the code. 

-   Takes ownership of problems through to resolution, including the unglamorous debugging in the lab at the end. 

-   Thoughtful about AI-assisted development, treating it as a skill to develop deliberately.

## Benefits

**We offer the following salary and benefits:**

Enhanced holiday pay

Pension

Life Assurance

Income Protection

Private Medical Insurance

Hospital Cash Plan

Therapy Services

Perk Box

Electric Car Scheme

\--

**Why work for EIT:**

At the Ellison Institute, we believe a collaborative, inclusive team is key to our success. We are building a supportive environment where creative risks are encouraged, and everyone feels heard. Valuing emotional intelligence, empathy, respect, and resilience, we encourage people to be curious and to have a shared commitment to excellence. Join us and make an impact!
