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.

    The role

    Our team works on a diverse range of compilers and toolchains, including popular open-source projects like LLVM and GNU. Our goal is to address 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 handle a spread of hardware benchmarking platforms both on the cloud and on-premise: 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.

    Responsibilities

    • Provisioning Cloud Infrastructure, on AWS and Azure
    • 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.

    Required skills and experience

    • 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 or equivalent experience, ideally in 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 sophisticated and widely used software.

    Nice to have skills and experience

    • Experience of build automation tooling like TeamCity or Jenkins.
    • Familiarity with Linux development and administration environments.
    • Experience with Infrastructure-as-Code tooling, such as Terraform or Ansible
    • Experience configuring and installing hardware in a board or server farm, including maintenance through debugging problems and updating firmware, operating systems etc.
    • Performance tracking and visualisation.

    In return

    In return all Arm employees are provided with vital training to succeed in their respective roles. As well as a friendly and high-performance working environment, Arm offers a competitive benefits package, including private medical insurance, sabbatical, supplementary pension, and wellness benefits. We are offering a hybrid approach to home and office working to provide an adaptable experience for all employees. We expect some working time to be spent in the office to promote a strong collaborative environment with good team integration but are accommodating to different home working requirements.