Opportunities for permanent roles in a range of business sectors

Junior Software Engineer - Compilers

Help develop software tools to support the broad range of use-cases that Arm enables. Our compilers cover everything from embedded software development up to the needs of the scientists and engineers working with supercomputers.

We are looking for skilled and hardworking compiler engineers who are passionate about producing quality software to join our engineering teams at all levels of seniority.

Our teams develop both commercial and open-source products. You will help develop our GCC and LLVM based compilers (C/C++ and Fortran), working on adding support for new architectural features, and analysing and improving the performance of workloads running on Arm hardware. You will also have the opportunity to work closely with open-source communities, making contributions to upstream toolchains. Previous experience working with GCC, LLVM or other compiler toolchains will be helpful, but is not essential.

Other work that we do includes the development of high-performing libraries to support program execution. These include math libraries for both fundamental operations, such as math.h, up to optimized matrix and vector operations. Additionally, we have a team developing optimized libraries for Machine Learning.

In addition to the main compiler development roles, we seek skilled engineers to join our DevOps and Quality teams to ensure that released products are robustly tested and of high quality before they reach customers.

Technical and people leadership roles are also available. Arm places great emphasis on growing and developing its people. We are always looking for people ready to take that next step up in their careers!

Main Duties

You will work as a member of our compiler teams in either Cambridge or Manchester.

Your role as a software engineer will require you to:

  • Identify and implement changes to our compilers and libraries to deliver novel features and improve benchmark performance.
  • Work on upstreaming code to the open-source GCC and LLVM communities.
  • Develop our automated test frameworks to defend the functionality and performance of our compilers.

Experienced with and highly competent at:

  • C and/or C++ programming.
  • Effectively communicating to persuade and influence internal or external partners.
  • Application of software methodologies, tools, and processes including code review.

Note: Training may be provided if you have only a subset of these key skills.

Education

You will be educated to degree level or have similar relevant experience.

Desirable Skills & Experience

The following is a selection of skills used across our projects.

You do not need to have experience with any of these to apply or succeed in your application.

  • Open-source community citizenship including code commits and reviews.
  • Compiler development, particularly GNU and LLVM.
  • Test development using continuous integration tools such as Jenkins, BuildBot or Robot, and maintenance of test infrastructure using DevOps frameworks such as Chef or Ansible.
  • Optimizing code for performance.

Passion for Progress
Innovation that enables our ecosystems, Arm and our people to thrive.

  • Work with pace and judgment. Adapt to circumstances.
  • Take risks in support of Arm's progress.
  • Be accountable for the decisions you make. Learn from failure.
  • Pursue innovation relentlessly.

We, Not I
Collaboration first, egos last.

  • Start with long-term value to customers and partners, and work back from there.
  • Collaborate, decide, commit, and bring people with you.
  • Make the most of all the skills and knowledge across Arm; share information with those who need it.
  • Care about the people around you.

Be your Brilliant Self
Skillful individuality, performance and fulfilment.

  • Be authentic.
  • Seek and embrace differences.
  • Encourage curiosity and challenge.
  • Give people trust and autonomy; show people they can trust you to do brilliant work in pursuit of Arm's goals.

Arm has a responsibility to ensure that all employees are eligible to live and work in the UK.

With offices around the world, Arm is a diverse organisation of dedicated, innovative and highly talented professionals. By enabling a vibrant, inclusive, meritocratic, and open workplace, where all our people can grow and succeed, we encourage our people to share their unique contributions to Arm's success in the global marketplace.