Compiler CPU Backend Engineer



Role Number:200538228
The CPU and Accelerator Compilers Team is looking for passionate individuals who are interested in advancing compiler technology. In this role, you will have the opportunity to delve deep into the realms of code generation and CPU architecture exploration. Our primary responsibility is to optimize CPUs and Accelerators across all Apple platforms, advancing our leading-edge technology. We collaborate with various organizations to enhance the user experience for all Apple customers by improving runtime performance, extending battery life, and bolstering security. A significant portion of our work is carried out in close collaboration with CPU architects and application engineers. Join us in shaping the future of compiler technology and CPU architecture at Apple. Our team emphasizes diversity, collaboration, and creativity.

Key Qualifications

  • Strong C and C++ programming expertise
  • Knowledge of common data structures like linked lists, sets, maps, and graphs
  • Background in compiler backend development and/or optimizations
  • Hands-on experience developing LLVM-based compiler backends (e.g. instruction selection, instruction scheduling, register allocation) is a plus
  • Good understanding of CPU architecture and micro-architecture, familiarity with ARM is a plus
  • Hands-on experience developing LLVM-based compiler backends (e.g. instruction selection, instruction scheduling, register allocation)
  • Experience working with LLVM or other open source project is a plus
  • Ability to communicate clearly and effectively


When you join us, you will be part of a dedicated group of engineers committed to advancing compiler and CPU technology. Your responsibilities will include working closely with CPU architects and tools engineers designing compiler features that maximize the impact of Apple silicon. You will conduct application and benchmark performance analysis, explore new CPU architectures, and work on development of the compiler backend for Apple CPUs. In this environment you will continuously apply and grow your expertise, learn new technologies, and engage in projects spanning hardware and software teams. Your work will impact all classical applications used by everyday users, countless customers, and give raise to new applications and technologies. Picture this: next time you pick up an Apple device the software running on it will be using your work. If you believe you have additional skills not listed here that would make you a good candidate for this position, please feel free to include a cover letter describing those skills and their applicability to the position. If this sounds of interest to you, we'd love to hear from you!

Education & Experience

BSc in Computer Science/Computer Engineering/Electrical Engineering or equivalent experience

Additional Requirements