We use cookies to help us to improve our site and deliver the best online experience. By clicking accept or continuing to use this site, you are agreeing to let us share your data with third-parties in accordance with our privacy policy. Learn more

Job opportunity

Test & Infrastructure Engineer (Python / Linux)

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 have the freedom to decide their own processes, and individual engineers can pick tools and approaches that work for them. We trust our employees 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 of our testing systems, 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. You will need to use Linux tools with the right combination of creativity and discipline to fix test failures or escalate them to the right people.

Responsibilities

  • Plan and deliver test and infrastructure code changes
  • Act as a maintainer of one or more Python code modules
  • Participate in test triage by investigating test failures and ensuring intermittently-failing tests are quarantined or fixed
  • Own, publish and be accountable for one or more business metrics relating to software quality and reliability

Background

  • Previous experience in a similar role is desirable (e.g. 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
  • At least 1 year of commercial experience, or 7 years at Senior level

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

Term

Permanent

Location

Cambridge, UK

Reports to

Technical Software Manager - Quality

Direct reports

None

To apply, please email us your CV at careers@undo.io 

Apply now

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

About Undo