Staff Software Engineer - Compilers (LLVM)
New Yesterday
Are you interested in working on pioneering compiler technology as part of our team of dedicated engineers working with the wider LLVM community? We have an opening for an exciting and varied role in our LLVM team in Cambridge or Manchester, UK. In this role, you will collaborate with the LLVM community, contributing to the open-source LLVM compiler and other LLVM projects, to make the best use of Arm architectural features such as SVE and SME. You will analyse and improve the performance of applications and benchmarks running on Arm hardware.
Responsibilities:
Provide technical leadership on LLVM compiler development for Arm, owning key areas of performance optimisation and steering work from design through delivery.
Shape direction for compiler optimisations targeting Arm architectures by driving sound technical decisions that maximise performance and long-term value.
Mentor engineers, inside the LLVM team as well as in the community.
Represent Arm in the LLVM ecosystem, leading upstream contributions, influencing community direction, and building alignment with partners.
Partner across other internal Arm teams to define priorities, ensure technical alignment, and deliver integrated solutions that support Arm's roadmap.
Champion process and quality improvements in development workflows, profiling methodologies, and performance benchmarking.
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.
Qualifications:
Excellent programming skills in C/C++.
LLVM open source community citizenship, including code commits and reviews.
Hands-on experience in analysing performance bottlenecks.
Experience in low-level software or hardware development that requires looking at computer architecture specifications, such as compilers, debuggers, models, etc.
Solid understanding of computer architecture, Aarch64 is preferred.
Proficiency in software development and methodologies (coding, testing, debugging, reviewing).
Effective communication skills to influence internal or external partners.
Collaboration across teams and sites.
Proactive with strong problem-solving ability.
Nice To Have Skills and Experience:
Experience with Profile Guided Optimization (PGO).
Familiar with Agile software development methodology such as Scrum or Kanban.
Familiar with Linux performance analysis tools and system level performance tuning.
Familiar with build systems and CI
#J-18808-Ljbffr
- Location:
- Manchester, England, United Kingdom
- Job Type:
- FullTime