Principal Software Engineer - Compilers

We design scalable, energy efficient-processors and related technologies to deliver the intelligence in applications ranging from sensors to servers, including smartphones, tablets, enterprise infrastructure and the Internet of Things.

Job Description

Join the LLVM Embedded Compiler Toolchain team in our mission to enable partners and community developers to build efficient, safe, and secure software for the latest devices based on Arm by timely delivering new cutting-edge Architecture Extensions, outstanding Performance Benchmarking and Optimisation improvements, Open-Source LLVM contributions, linkers and C/C++ Libraries.

We work closely with our partners to support their future devices across many markets, including Networking, Storage, Automotive, Medical, IoT and other Embedded solutions.

Key Accountabilities/Responsibilities:

  • Collaborate with your team and colleagues across the company and the Arm Developer ecosystem as we contribute many changes back to the open-source LLVM project
  • Implement new language and Arm Architecture support
  • Drive all aspects of the feature development lifecycle: design, security vulnerabilities assessment, breakdown, planning, implementation, delivery and communication
  • Improve the interoperability between the compiler toolchains and other tools like debuggers, IDEs, simulation models, performance and embedded libraries
  • Lead Compiler Architecture and Software Architecture aspects

Required Skills and Experience:

  • Excellent developing large C++ projects leading to maintainable and efficient code
  • Proven experience building compiler, ideally using frameworks like LLVM/Clang, MLIR or optimising compiler code size, memory footprint and build time performance
  • Experience in the full software development lifecycle (developing, testing, delivering, and maintaining production-quality software)
  • Dedicated and flexible, you are technically versatile, and can learn new skills that you can apply across multiple types of work.

“Nice To Have” Skills and Experience :

  • Low-level programming in Arm Assembly
  • Familiar with Libc/Libc++ or recent C++14/17/20 language features
  • Scripting experience, ideally including Python development in large frameworks
  • Understanding the purpose and structure of compilers, assemblers, linkers and libraries
  • Presence and experience contributing to Open-Source projects, ideally LLVM
  • Awareness of Secure Development Lifecycle and security vulnerabilities analysis
  • Technical Mentoring of junior colleagues and peers in areas of own knowledge

In Return:

We are famous for our team culture - including Friday focus times, regular career conversations, remarkable diversity, equity and inclusion, and continuous improvement mentality.

#LI-JB1

Apply now


Add to shortlist

Login or create a free user account to upload your CV and shortlist jobs.

Create account

Other jobs at Arm Ltd

Closing date:
Closing date:
Closing date:
Closing date:
Closing date:
Closing date:
Closing date:

Looking for something specific?