We are looking for an experienced engineer who is passionate about developing compilers and managed runtimes and loves open-source software. In this role you will be working on performance analysis and optimisation across a range of runtimes.
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.
Responsibilities
- 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.
- Implement new runtime or compiler features and fine-tune existing ones. (e.g. garbage collectors, interpreters, optimisation passes, intrinsics)
- Own and be accountable for medium/large technical areas of managed runtime or compiler development.
- Contribute to open-source software projects and engage with open-source community.
- Collaborate with colleagues across Arm to improve the support for the Arm Architecture and CPUs.
- Help develop the project automated functionality and performance testing frameworks.
Required skills and experience
- Strong programming skills in C/C++.
- Familiar with performance analysis tools and system level performance tuning.
- Be flexible, with a variety of software development skills and a commitment to extend the breadth and depth of knowledge.
- Familiar with open source project development and contribution processes.
- Knowledge of a computer architecture, arm64 is preferred.
- Proficiency in software development and methodologies (coding, testing, debugging, reviewing)
- Clear and effective written and verbal communication skills
Nice to have skills and experience
- Experience working on managed runtimes or compilers.
- 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.
In Return
You will work directly with upstream communities, contributing to language implementations used by millions of developers worldwide. You will have the opportunity to learn about the latest Arm architecture features, working closely with highly skilled engineering teams on ground-breaking technology. You will be empowered to continually identify and roll out improvements to our ways of working.