Compiler Tools Engineer

Cupertino, California, United States
Software and Services

Summary

Posted:
Role Number:200554081
Apple’s compiler team is looking for a Compiler tools engineer to drive tooling for open source and internal compiler technologies. We want to minimize the latency and engineering effort to deploy changes in the Swift and Clang compilers and the LLDB debugger, while maintaining (and improving!) our tools and infrastructure. We believe that continuous deployment of toolchain technologies will substantially increase the compiler team’s productivity, as well as the productivity of our internal users. You would join an existing tools engineering team, where you would work closely with compiler engineers. Our compilers build the full OS and software stack installed on billions of Apple devices, and are shipped via Xcode to millions of developers around the world. We welcome new contributors who are excited by the opportunity to have a significant impact. We believe that every engineer brings unique skills and perspective. Far more than any specific experience or skill, we are looking for engineers who want to build great software, learn and develop their skills, and ultimately enable others to develop amazing products.

Description

You’ll work on Compiler tooling for Swift, Clang and LLDB debugger on all Apple platforms. You will make decisions about how to architect engineering, and integration workflows, considering both short- and long-term goals. Once solutions are identified, you’ll design, implement, and deploy automation and workflow changes for building, testing, and deploying the toolchain. You’ll engage with the open source LLVM (https://llvm.org/) and Swift (https://swift.org/) communities, reducing downstream overhead by driving improvements to open source infrastructure, tooling, and engineering workflows at https://github.com/llvm and https://github.com/apple. You will improve the efficiency of open source engineering workflows and scale compiler qualification infrastructure to support Swift and Clang compilers. You will find opportunities to innovate, and create tools and processes to reduce or define away problems. As an example, you might work on improving the pull request testing process for open source changes in GitHub by making it more efficient and adding testing features. In addition to finding technical solutions to problems, you will be involved with coordinating between multiple teams within Apple and the open source community using clear, consistent and timely communication. You’ll work with the larger developer tools organization colocated with us. Our teams have a wide range of experience, with engineers new to Apple working alongside veterans with decades of Apple experience.

Minimum Qualifications

  • Experience in systems engineering/SRE/DevOps role.
  • Passion for continuous build, integration, test, and delivery systems.
  • Ability to design and develop new technologies in a changing environment.
  • Positive and respectful attitude in a diverse environment.
  • Interest in building great developer tools.

Key Qualifications

Preferred Qualifications

  • We welcome all applicants, but familiarity with any of the following areas will help you come up to speed fastest on this project:
  • Build pipeline for statically compiled languages (e.g., relationship between compiler and linker).
  • Distributed source control systems, like Git or Mercurial.
  • High-level languages (Swift, Java, C++) and scripting languages (Bash, Python, Perl, PHP).
  • Logging infrastructure and tools such as Splunk, Logstash, or Kibana.
  • DevOps / CI-CD tools, like Jenkins, Maven, Git, Nexus.
  • CMake configuration in large-scale software projects.
  • If possible, we’d love to see an example of your relevant work, such as a personal project or open source contribution.

Education & Experience

Additional Requirements

Pay & Benefits

  • Apple is an equal opportunity employer that is committed to inclusion and diversity. We take affirmative action to ensure equal opportunity for all applicants without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or other legally protected characteristics. Learn more about your EEO rights as an applicant.