Staff Software Engineer - Runtimes Performance

Arm Limited
Manchester, UK
2 months ago
Apply on uk.indeed.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Job source

Tech stack

Java (Programming Language) JavaScript (Programming Language) Agile Methodology ARM Architecture C Sharp (Programming Language) C++ (Programming Language) Compilers Computer Programming Microarchitecture Software Debugging Linux Microprocessors
+10 more
Python (Programming Language) Open Source Technology Performance Tuning Scrum Methodology Software Engineering Rust (Programming Language) Performance Testing Free and Open-Source Software Build Tools Golang

Job description

We are looking for an experienced performance engineer who is passionate about developing compilers and managed runtimes and loves open-source software. In this role you will be working on improving the performance of managed language workloads on Arm architecture by improving the language runtime/compiler as well as identifying bottlenecks in the hardware and working with hardware designers to improve these. The languages covered include Java, JavaScript, Python, Rust and more.

You’ll be part of the bigger CE-SW Runtimes team, whose goal is to improve modern languages support on the Arm architecture, from JavaScript to Rust. You will work closely with the team and colleagues across the organisation and with open source communities to tackle challenges in enabling the future of computing!, * Identify and implement changes to compilers and managed runtimes to improve the performance of selected workloads and better support Arm architectural features and CPU designs.

  • Identify bottlenecks in led language workloads/benchmarks using profiling tools.
  • Collaborate with colleagues across Arm to improve the support for the Arm Architecture and CPUs.
  • Implement new runtime or compile features and fine-tune existing ones. (e.g. garbage collectors, interpreters, optimisation passes, intrinsics)
  • Contribute to open-source software projects and engage with open-source community.
  • Help develop the project automated functionality and performance testing frameworks., Arm’s approach to hybrid working is designed to create a working environment that supports both high performance and personal wellbeing. We believe in bringing people together face to face to enable us to work at pace, whilst recognizing the value of flexibility. Within that framework, we empower groups/teams to determine their own hybrid working patterns, depending on the work and the team’s needs. Details of what this means for each role will be shared upon application. In some cases, the flexibility we can offer is limited by local legal, regulatory, tax, or other considerations, and where this is the case, we will collaborate with you to find the best solution. Please talk to us to find out more about what this could look like for you.

Requirements

  • Experience working on managed runtimes, compilers or similar technologies.
  • Strong programming skills in C/C++.
  • Familiar with performance analysis tools at an assembly level.
  • Knowledge of and interest in improving computer architecture and microarchitecture such as CPU pipelines and cache hierarchies.
  • Proficiency in software development and methodologies (coding, testing, debugging, reviewing)

“Nice To Have” Skills and Experience :

  • Familiar with Linux performance analysis tools and system level performance tuning.
  • Proficiency in one or more of the following languages: Java, C#, Rust, Go, JavaScript, Python
  • Familiar with Agile software development methodology such as Scrum or Kanban.
  • Familiar with build systems and CI.
  • Familiar with open-source project development and contribution processes.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on uk.indeed.com
Prepare application

Good distractions

Loading talks and stories from around this role…