Senior Software Engineer

Mar 15, 2025
Manchester
Full Time
Arm Inc
Not Disclosed
IT - Software Services
Skills
Spring • .NET • C/C++ • Go • React • OOP • C# • AWS • Data Structures • Software Development • Java • Distributed Systems
The Role
Spring • .NET • C/C++ • Go • React • OOP • C# • AWS • Data Structures • Software Development • Java • Distributed Systems

Are you interested in working on Machine Learning (ML) software for the most innovative CPU technologies in server and cloud compute? We have an opening in the Machine Learning team in Manchester, UK to join a small team of Engineers focussed on making Arm-based hardware the natural choice for ML in the datacenter.

In this role you will be contributing to key open source ML software projects. In particular Compute Library for the Arm Architecture; an open source software project providing machine learning functions for both CPU and GPU. You will work with colleagues in Manchester and Cambridge to optimise Compute Library for server-scale hardware, and integrate it with frameworks and libraries for deployment on our partners' hardware.

You will work with exciting technology, help to implement new algorithms, and optimise for the latest Arm server hardware. Our work has high impact in the ML ecosystem, with possibility to engage with partners and the community.

Arm is an outstanding company to work for! We work hard to provide an open and accepting environment where you are encouraged to share your ideas and opinions; which enables collective innovation and creativity, and supports your growth as an engineer. In addition, among many benefits that Arm offers, employees have 25 days of annual leave with an option to buy more holiday days as well as progressive parental leave.Responsibilities:
Your role as a software engineer will require you to:
Find opportunities for improving the performance and scalability of Compute Library on servers.
Optimise Compute Library to utilise the full potential of Arm's line of Neoverse cores for datacentre and cloud uses-cases at high core counts.
Work with development teams based in both Manchester and Cambridge to extend the capabilities of Compute Library to meet the unique demands of ML workloads on servers.
Improve Compute Library API to support flawless integration with ML frameworks such as TensorFlow and PyTorch.Required Skills & Experience:
Software development, with very good programming skills, preferably C++ and Python.
Excellent understanding of parallel programming primitives and constructs.
Ability to quickly investigate and debug large software frameworks.
Optimising code for performance.
A real passion for software development.
Very good interpersonal and communication skills.
A real enthusiasm to make a positive impact, both in our team, and in the wider Arm ecosystem.
Note: Training may be provided if you have only a subset of these key skills.'Nice To Have' 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.
Experience with one or more of: NEON, SVE, SVE2, and Arm assembler.
Experience with TensorFlow, PyTorch, oneDNN or Eigen.
Open source community citizenship including code commits and reviews.
Basic Linux administration, particularly installation and maintenance.
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, sex, gender, gender expression, sexual orientation, age, marital status, veteran status, or disability status. We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.

#LI-JC1