Job opportunity

Software Engineer in Tools & Infrastructure (Python / Linux, graduate to senior)

If you are tired of being a cog in the machine and want to take an active part in developing really exciting technology, this role could be for you.

Engineering at Undo

Undo engineers are trusted to do their best to do the right thing. We grow teams that have the freedom to make their own decisions so individual engineers are empowered to choose how best to achieve their committed goals.

In return, we ask that you do your best to understand your internal or external customers’ needs, deliver engineering changes within the timeframes agreed with your colleagues, take ownership of specific tasks and be flexible when company priorities change.

Expect to participate in open discussions, to challenge and be challenged with arguments based on reason, and to compromise occasionally in order to achieve team consensus. Trust, honesty and respect for others is essential. Enthusiasm and drive are valued.

Purpose of this role

Your role is to develop and maintain tools and frameworks for software development, testing and release to allow our other engineering teams to deliver high-quality software as efficiently as possible. Your work will typically involve a combination of planned engineering tasks and day-to-day maintenance undertaken as part of an agile team, and your observations of the most common failure modes will be used to motivate further improvements to the reliability and performance of our CI pipelines.


  • Plan and deliver test and infrastructure code changes
  • Act as a maintainer of one or more Python code modules
  • Ensure that our development approach aligns with industry best practices


  • Previous experience in a similar role is desirable (e.g. Software Engineer, Software Engineer in Test, Automation Engineer, Infrastructure Engineer, Software Quality Engineer, Site Reliability Engineer)
  • B.Sc. in Computer Science, Engineering, Mathematics or similar would be an advantage

Required skills

  • Strong Python
  • Experience working in Linux
  • Ability to collaborate with and influence others

Highly desirable skills and behaviours

  • Cloud, DevOps and CI technologies (we use AWS, Ansible, Docker, Jenkins)
  • Team-based code development and code review (we use git and GitHub)
  • Understanding of Linux internals (signals, system calls, threads, processes)
  • Familiarity with C/C++ and corresponding toolchains
  • Ability to plan projects, make well-judged engineering tradeoffs between task scope, duration and risk, and deliver on an agreed timescale
  • Willingness to assist with urgent issues where necessary
  • Inclination when handling an issue to consider how it can be avoided in future
  • Enthusiasm for software quality and a positive outlook towards quality improvement




Cambridge, UK

Reports to

Technical Software Manager - Engineering Improvement

Direct reports


To apply, please email us your CV at 

Apply now

We are making Undo a place to work of which we can all be really proud.

About Undo