Compiler CPU Backend Engineer
Herzliya, Tel Aviv District, Israel
Hardware
The CPU and Accelerator Compiler Performance Team is seeking engineers with different levels of experience passionate about working on advancing compiler-based optimization technologies. Our team is responsible for optimizations and code generation for CPUs and Accelerators on all Apple platforms. We work across many different organizations on state-of-the art, industry impacting tools that enhance the user experience for all Apple customers with better run-time performance, battery life, code size, and enhanced security. A lot of the team's work happens directly in the LLVM open source project and gets presented at the LLVM Developer Meeting. Our team embodies diversity, collaboration, and creativity.
Description
In this role you will be part of a highly motivated group of engineers dedicated to pushing compiler technology to the next level. Your responsibilities will encompass a range of tasks, including development of optimizations targeted at new hardware or programming language features, generic compiler optimizations in LLVM, advancement of link-time and profile-driven optimizations, and conducting workload performance analysis. You’ll also review and provide feedback on the work of your peers, and collaborate with them on solutions to the problems they are working on.
In this environment, you will continuously refine your expertise, explore new technologies, and engage in projects that bridge hardware and software teams. Your contributions will have a direct impact on every application running on all Apple devices, and your performance analysis will help guide the development of future platforms.
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!
Minimum Qualifications
- Strong C++ expertise
- Knowledge of common data structures like linked lists, sets, maps, and graphs
- Experience in analyzing benchmarks and application performance
- Ability to communicate clearly and effectively
Key Qualifications
- Hands-on experience developing compiler analysis and optimization passes is a big plus
- Experience working with LLVM or other open source project is a plus
- Experience in collaboration with teams across different organizations and timezones is a plus
Preferred Qualifications
Education & Experience
BSc in Computer Science/Computer Engineering/Electrical Engineering or equivalent experience