Senior DevOps Engineer in Cambridge
We are seeking a highly motivated and creative person to join our Cambridge-based toolchain performance team.
This is an excellent opportunity for a candidate with a keen interest in Dev Ops, software quality and testing, who wants to influence the future of Arm IP and the Arm eco-system
Our team works on a diverse range of compilers and toolchains, including popular open-source projects like LLVM and GNU. Our goal is to tackle software performance challenges whenever they occur. We track the performance of vital toolchain and system components across a large number of hardware and software platforms. Your work will allow us to manage this unique complexity and provide the toolchain engineering teams with high-quality, reliable tracking of the state of the world of software on Arm IP.
This involves writing custom code to extend existing software or to connect systems together that are not usually deployed together. You will also manage a spread of hardware benchmarking platforms: mobile phones, developer boards, big servers as well as FPGAs and simulators for brand-new CPU designs.
Our existing infrastructure has been developed over time to meet our team's specific requirements, and we will be happy to ramp you up on its structure and components until you are comfortable owning its further evolution.
We are one of a number of compiler engineering teams in Arm, and we have plenty of passionate and friendly DevOps engineers specialising in toolchain testing who will be delighted to help you.
This position is situated in our Cambridge head office which hosts diverse teams from across Arm including development tools, compilers, debuggers, technical communications, DevOps infrastructure provision and open-source software development.
What Will I Be Doing?
As part of your role you will be supporting the software development teams CI/CD and automation:
- Maintaining a board farm of hardware devices used for validation and benchmarking.
- Designing, maintaining and extending the automated testing and benchmarking infrastructure.
- Extending existing software to suit our needs or writing new glue between systems.
- Debugging problems across the stack: from data visualisation packages to Linux kernel crashes.
- Provisioning Cloud Infrastructure.
Are you a good fit for Arm?
- A basic understanding of software engineering, Cloud, CI and Testing.
- You are comfortable using a Linux command line.
- You can use version control such as Git.
- Basic scripting knowledge, for example Python, Bash.
- University degree ideally computer science or a related STEM background. Other backgrounds will be considered if you have suitable experience and interest in the role.
- A passion to improve the efficiency and quality of some of the most complex and widely used software.
Useful But Not Essential Skills:
The following is a selection of skills and technologies used across our projects. Familiarity with them will allow you to ramp up quickly, but we are happy to introduce you to them if necessary:
- Experience of build automation tooling like TeamCity or Jenkins.
- Familiarity with Linux development and administration environments
- Experience of cloud computing services such as Amazon Web Services (AWS).
- Performance tracking and visualisation.