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.
As an Undo Software Engineer, you’ll have the opportunity to do a variety of tasks, and contribute to projects and customer engagements. You’ll also be supported by the wider Engineering team to brainstorm ideas and help you if you’re stuck.
Undo developers have the freedom to decide their own processes, and individual developers can pick the development environment that works 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 developers are empowered to choose the work they’d like do within the team’s committed goals.
In return, we ask that you do your best to understand our users’ needs, deliver releases or fixes within the timeframes agreed within your team, take ownership of specific tasks, occasionally provide customer training, 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.
What makes you an Undo Engineer?
- At least 5 yrs’ experience in developing software within a commercial environment
- B.Sc. 2.1 or 1st or equivalent in Computer Science or other similar subject
- You thrive in a highly collaborative team of engineers
- You enjoy being part of an empowered development team and make decisions independently where appropriate
- You are enthusiastic about engaging with customers as necessary to create a great product / service
- You look to continuously improve your expertise, knowledge or skills
- Problem-solving ability
- Linux or other OS structure with some understanding of internals
- Good understanding of concurrency
- General understanding of compilers
- Excellent skills in C on Linux
- Assembly-level understanding
- API design
Desirable technical skills
- 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
- Embedded development
If you would like to apply for this role, please send us your covering letter and CV.
Or, if you have any questions about the role and would like to know more, get in touch with Mark, who’s in charge of recruitment at Undo.
This face-to-face interview will take place in our Cambridge office. The first half of the interview will be done by Greg, our CEO, and Yanni, our COO. If this goes well and you're applying for a technical role, we’ll ask you to stay in the office so you can meet the rest of the team and proceed to the technical interview.
Your technical interview with members of the Engineering team will last 2-3 hours. The format usually is:
- CV, background and introductory technical questions (~45 mins)
- 3 systems programming questions each covering a different systems programming problem (~30 mins each)
- Wrap up (~20 mins)
We’ll focus on technical areas that will be useful for an engineer at Undo. You’re not expected to be an expert in everything we ask, as we’re more interested in your ability to make deductions and educated guesses.
Or, if you have any questions about the role and would like to know more, get in touch with Mark Saunders, who’s in charge of recruitment at Undo at firstname.lastname@example.org.
This is an open recruitment and will remain live until all of the available roles are filled.