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


 Develop/enhance software products

Tasks involve:

● Participate as part of a team in software development tasks and complete to agreed schedule and quality (mainly C on Linux).

● Become involved in quality improvement activities as part of our defined processes.

● Responsible as part of the team for customer service requests and drive to resolution.

● Participate in team development activities like task estimation, code reviews, improvement activities etc.

Technical Skills:

Key Technical Skills:

● C

● 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.first class or 2:1 from well ranked university  (or equivalent) in Computer Science or other numerate subject

Working Style:

Undo is a team-­oriented company. Commitments are decided by the team itself (not thrust upon it!) and it is the team’s responsibility to collectively agree and reach goals within an agreed timeframe. Responsibility is subsequently shared among the members of the team.

Undo encourages team members to keep a good work/life balance and strives to not depend on personal heroism to achieve its company 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.