Distributed Build Systems Engineer - Build Execution

Cupertino, California, United States
Software and Services

Summary

Posted:
Weekly Hours: 40
Role Number:200578152
The SWE Developer Productivity organization builds technologies and tools to help software engineers at Apple to do the best work of their lives. The Build Execution team supports that mission by combining modern distributed systems and build system technology to significantly improve software development velocity. We develop and operate a large scale functional build system service used by all of the Software Engineering organization at Apple. We are looking for experienced engineers to join our efforts. You'll work on extending large-scale novel build and distributed systems to meet the needs of Apple's operating system engineers. If you enjoy working on system software, cloud services, or developer tools like compilers and linkers, then we have many exciting problems to work on! You would join a small, tight-knit group of engineers who build exciting new technology and have fun while doing so. We are applying unique and innovative ideas to old problems and welcome new contributors who are excited by the opportunity to significantly impact the shape and direction of our product. 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 applications.

Description

You'll work on solving build system problems by leveraging a strong distributed backend. You'll find ways to combine our unique problem domain with established distributed system techniques to achieve both high performance and reliability. You'll analyze problem requirements, existing solutions, and available systems and make high-level architectural decisions about how to architect the backend, considering both short- and long-term goals. Once solutions are identified, you will work alongside our team to implement them while developing appropriate testing and operational mechanisms. You will be most successful here as a flexible and proactive engineer who thrives in a supportive, respectful, and balanced work environment with interesting and challenging problems to tackle. You have excellent judgment and integrity with the ability to make timely and sound decisions. You know how to drive constructive discussion of design points, learn from your team, and use your experience to advocate and teach others. We welcome all applicants, but familiarity in one the following areas will help you come up to speed fastest on our project: * Experience or interest in traditional and/or distributed build systems such as Make, CMake, Bazel, Buck, etc. * Experience with high-performance strongly typed languages such as Swift, Rust, C++, Scala, or others. * Experience in systems programming (e.g., operating systems, kernel development, compilers or package managers). * Experience with SDK or framework development used by other developers. * Experience with writing performance-critical components such as game engines. * Experience with reliable, scalable, distributed systems In your role as an engineer on our team: * Spend the majority of your time programming in Swift. * Collaborate with your teammates through git pull requests, in-person conversations, and Slack. * Engage with other teams to help identify issues and establish long-term relationships that include knowledge sharing. * Develop expertise and be given ownership over components critical to Apple’s success. * Provide technical guidance, software architectural review, and mentorship. * Make customer-focused product design decisions with your teammates and drive what really matters. * Prioritize and schedule issues, estimate scope of work, and investigate new issue reports in your areas of responsibility. * Have access to the engineers who create Apple’s full technology, tools, and operating systems stack.

Minimum Qualifications

  • 3+ years of industry experience, a Graduate degree, or equivalent experience preferred
  • Strong software architecture and coding abilities.
  • Interest in build systems, cloud services, and other high-performance system software.
  • Excellent collaborative skills, with strong written and verbal communication.

Key Qualifications

Preferred Qualifications

  • Positive and respectful attitude in a diverse environment.
  • Curiosity to understand constraints and bottlenecks in Apple’s software builds and innovative ideas to improve them.

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.