Skip to main content

Software Performance Engineer

Job ID 2022-7372 Date posted Sep. 09, 2024 Location Manchester, United Kingdom Category Software Engineering Apply

We are building the future of computing on Arm. We need to predict and optimise performance with new and forthcoming architectural features for both todays, and tomorrow's novel applications. This means we need great connections between our teams developing our architecture, micro-architectures, and software to ensure we maximise their potential.

As a Software Performance Engineer you will help to develop the use, and realise the benefits, of newly developed architecture features across workloads relevant to Arm's customers. You will provide guidance for efficient microarchitecture implementations by building a working set of workload-proven representative use-cases of the new features. Exploring functional and performance characteristics of those new features in microarchitecture implementations, you will work in partnership with internal engineering teams to help drive software roadmaps for both the compilers and libraries teams. These roadmaps will be aligned with our core designs to ensure they are ready for the Arm software ecosystem on day-zero - as soon as silicon becomes available.

Arm is an outstanding company to work for! We strive 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. Arm supports hybrid working and, among the 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 will require you to:

  • Find opportunities for improving the performance and scalability of current and future workloads either, by prototyping them with newly developed architectural feature; or through efficient code generation
  • Estimate workloads performance using models of cores and memory
  • Provide guidance by engaging with compilers, libraries and CPU engineering teams in proactive detection, mitigation and resolution of ineffective uses of architectural features
  • Add to benchmarking infrastructure with idiomatic uses of novel features

Required Skills and Experience:

  • B.Sc. or higher in Computer Engineering or Computer Science; or other relevant recent experience
  • Strong lower-level programming skills such as writing assembly (for any architecture), C or C++ along with excellent problem solving and debugging abilities
  • Fast learner of new technologies
  • A real passion to make a positive impact, in our team and beyond
  • Comfortable coping with uncertainty and resolving ambiguity by using verbal, written and interpersonal communication 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 Arm processors, CPU architecture and SoC subsystems
  • Highly knowledgable about low-level code optimisation and an understanding of the interplay between compilers, software performance and hardware
  • Understanding of internal compiler behaviours and representations and knowledge of compiler optimisation and code generation techniques
  • Experience estimating, modelling, and evaluating performance and efficiency of targeted workloads, preferably in a full-system simulator.
  • Ability to quickly understand the key use cases and application frameworks for edge computing and the datacentre

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

We are an Equal Opportunity Employer and do not discriminate against any employee or applicant for employment because of race, colour, sex, age, national origin, religion, sexual orientation, gender identity, status as a veteran, and basis of disability or any other protected characteristic.

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-JB1

Power the Future on Arm

Working in software engineering at Arm is about shaping a future of technology for which we don't yet have words. Our engineers lead innovation in physical IP, AI and machine learning, cloud architecture, automotive tech, and every aspect of computing that matters.

Spanning software's full spectrum, from compilers to AI-powered IoT and beyond, your code can enable virtually anything to be produced on silicon. Whether you're developing award-winning VR gaming or life-enhancing medical equipment, you can improve the lives of millions by being your brilliant self at Arm.

Drive change on Arm

At Arm, you'll influence 95% of the world's connected devices and all their applications. From healthcare and infrastructure to virtual reality, you'll affect nearly all industries worldwide, racing toward new milestones and achievements together.

Revolutionary Benefits

Health and Wellness

We create a safe space for you to nurture both your physical and mental wellbeing.

Work and Life Success

We empower people to experience life beyond the boundaries of standard work patterns.

Financial Rewards

We provide benefits beyond a competitive salary to reward our people for their dedication and contributions.

Development and Support

We foster professional and personal development, building a supportive community where everyone can thrive.

Life at Arm

Life in the office doesn't get any better — especially when those offices are as sleek as ours and the people there are creative and compassionate. Combine that with our popular 'we, not I' mindset, and you enjoy the kind of teamwork and togetherness rarely found elsewhere. We share so much in common, not least the same passion for progress, but we also welcome each other's diversity. Ultimately, we love to inspire and be inspired every day.

Discover Life at Arm

Get Job Alerts

Can’t find the job you’re seeking? Register to be notified as soon as new jobs become available. Enter your email, select your preferred job category and/or location, then click Add to set your preferences and Subscribe to create your job alert.

Interested InSelect a job category from the list of options. Search for a location and select one from the list of suggestions. Finally, click “Add” to create your job alert.

  • Software Engineering, Manchester, England, United KingdomRemove

By submitting your information, you acknowledge that you have read our privacy policy, and consent to receive email communication from Arm.

Join our Talent Community, Unlock Opportunities

Subscribe to receive Arm communications directly to your inbox. Stay connected to be the first to hear about updates from our community and exciting roles that align with your skills.

Join Now