Enable job alerts via email!

Staff Software Engineer - Numerical Software

Arm

Cambridge

On-site

GBP 40,000 - 80,000

Full time

24 days ago

Boost your interview chances

Create a job specific, tailored resume for higher success rate.

Job summary

An established industry player is seeking a talented software engineer to enhance numerical libraries for Arm-based hardware. This exciting role involves optimizing high-performance computing libraries, collaborating with partners, and delivering reliable solutions that impact various sectors, including industry and academia. With opportunities to work on cutting-edge technology and contribute to advanced scientific research, this position promises a dynamic and rewarding experience. If you have a passion for performance optimization and enjoy working in a collaborative environment, this role could be your next big challenge.

Qualifications

  • Strong programming skills in C++, C, or Fortran required.
  • Experience with numerical optimization and parallel programming preferred.

Responsibilities

  • Optimize numerical libraries for Arm-based systems.
  • Collaborate with customers and partners to meet their needs.

Skills

C++
C
Fortran
Linux
git
numerical optimization
parallel programming

Education

Degree in Mathematics
Degree in Computing

Tools

SIMD architectures
Build Integration Tools

Job description

Arm is looking for a highly skilled and motivated software engineer with experience of optimizing numerical software to join our team in Manchester working on improving math’s libraries for Arm-based hardware.

You will work to improve all aspects of the libraries we develop! This will involve researching, developing, optimizing and delivering into the high performance Arm ecosystem across a wide variety of libraries targeting areas such as HPC (High Performance Computing), computer vision, video codecs, security and fundamental mathematical (math.h) functions.

In this role, you'll have the opportunity to learn about and use the world-leading Arm hardware that we support. Our libraries are used by industry, government and academia to perform a wide range of functions, from advanced scientific research via simulations on large scale systems to detecting objects in device camera pipelines.

Responsibilities:
  • Optimization of numerical libraries for a range of target Arm-based systems, including improving vectorization, cache usage and parallel performance
  • Producing and delivering high-quality, reliable libraries to Arm’s customers, partners and the community
  • Collaborating with customers and partners on their needs
  • Working with other divisions in Arm to expand adoption of the architecture
Required Skills & Experience:
  • Excited by the prospect of delivering added performance to end users by writing high-performing low-level numerical code
  • Excellent programming skills in at least one of C++, C and/or Fortran, developing code on Linux, using git and doing code review
  • Enthusiastic approach to working with a team of other software engineers, sharing innovative ideas and giving constructive feedback
“Nice To Have” Skills and Experience:

The following is a selection of skills used across our projects. They are not necessarily required for a successful application.

  • Programming in parallel. Experience with vector (SIMD) architectures, vectorization techniques and parallel runtimes
  • Some knowledge of at least one of our key areas of interest: linear algebra, FFTs, video codecs, security algorithms or function approximation
  • Exposure to large-scale software Build, Integration and Test environments
  • Some experience of Open Source development
Education & Qualifications:

You will need a good degree (or equivalent) in Mathematics, Computing, or an alternative with relevant experience.

LI-CM1

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.