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.
- 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
- 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
- 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
Technical Software Manager - Quality
To apply, please email us your CV at email@example.com