Software Engineer
Job title: Software Engineer
Term: Permanent
Reports to: Head of Engineering
Direct reports: N/A
Location: Cambridge, UK


Develop/enhance software products


  • Take ownership of software development tasks and complete to agreed schedule and quality (mainly C on Linux).
  • Take ownership of quality improvement activities as part of our defined processes.
  • Take ownership of customer service requests and drive to resolution.
  • Participate in team development activities like task estimation, code reviews, improvement activities etc.
  • Occasionally provide customer training.


At least 5 years commercial experience

Technical skills

Key technical skills

  • C wizard
  • Linux programming

Optional technical skills

  • Python
  • Debugger or compiler internals
  • JITs or other code generators
  • Low-level user-level coding (i.e. good understanding of kernel ABI)
  • x86, ARM or other assembly
  • Kernel development


B.Sc. or equivalent in Computer Science or other numerate subject

Working style

Undo is a team-oriented company.  A development team makes a collective commitment to achieve an agreed common goal within an agreed time and quality parameters. Responsibility is shared among the members of the team.

Commitments are decided upon by the team itself (not thrust upon it!)

Individual developers are empowered to pick the work they would like to do within the team’s committed goals: tasks are not assigned to them - they are picked by them.

Undo encourages team members to keep a good work/life balance and strives to not depend on personal heroism to achieve its corporate goals. We are flexible and will go to some length to ensure working conditions are conducive to happiness.


Undo looks for team players. You need to feel ownership of the team’s goals rather than just your own.

Because of our culture making team decisions in an effective manner is essential. A team member should expect to participate in open discussions, to challenge and be challenged with arguments based on reason and occasionally to compromise in order to achieve team consensus.

Trust, honesty and respect for others is essential. Enthusiasm and drive are valued.


If you would like to apply for this role, please send us your covering letter and CV. 

Apply for role