faster build on a regular basis, while continuing to contribute fixes/updates and tools to the Open Source Bazel ecosystem you will slip right into our team.
Description
Bazel Architecture & Internals
- Design, evolve, and maintain a Bazel based build for system-level software spanning many generations of targets.
- Own Starlark rules, custom providers, toolchain definitions, platform constraints, transitions, and configuration layering.
- Build hermetic, deterministic toolchains for macOS/iOS/watchOS/tvOS, including Clang-based C/C++/Obj-C and Swift toolchains.
- Diagnose and eliminate sources of nondeterminism: Xcode environment leakage, SDK drift, tool version skew, path-sensitivity etc.
- Integrate and tune remote execution systems, specifically BuildBarn. Past experience with other tools in the space like EngFlow, BuildBuddy etc will come in handy.
Apple Platform & Build Tooling
- Build and maintain hermetic Apple platform toolchains:
- Xcode selection and provisioning
- SDK extraction and version pinning
- Clang/Swift invocation under Bazel
- Triage Xcode behaviors and port them to uniform, reproducible Bazel actions.
- Familiarity with tooling to keep Xcode projects and Bazel builds in sync using tools such as Tuist or xcodegen
Developer Productivity Tooling
- Build IDE integrations: generating compile_commands.json and Clang module maps etc.
- Instrument build graph performance: reduce graph depth, action fan-out, and hermetic toolchain overhead, cache misses.
- Author tools to visualize dependency edges, configuration transitions, and remote execution behavior.
Release Engineering & CI
- Maintain Jenkins pipelines for multi-platform build, test, packaging, and artifact promotion.
- Define reproducible build and release processes across macOS, iOS and other Apple platforms
- Transform test results, code coverage results, static analysis results into information that helps developers focus their efforts
Preferred Qualifications
Migrated complex Apple codebases to and from Xcodebuild and Bazel.
Experience with Swift toolchain hermeticity and balancing it with compilation speed or custom Clang/Swift wrapper actions.
Experience optimizing monorepos with hundreds/thousands of targets.
Hands-on experience with distributed caching, remote test execution, and execution platform modeling.
Contributions to Bazel, rules_apple, rules_swift, rules_cc, or RBE-related open-source projects.
Minimum Qualifications
Experience in software engineering and Bazel-focused build systems in system software
Deep knowledge of Bazel:
- Authoring rules
- Apple platforms
- Toolchains (native + custom, especially newer rules based toolchain configuration)
- Transitions
- Configuration + Constraints
- Remote Execution APIs
Strong understanding of Apple development ecosystems: Xcode, Swift toolchains, SDKs, mach-o formats, and universal binaries.
Extensive experience with hermetic builds, sandboxing, deterministic builds, and debugging action-cache behavior.
Solid foundation in C/C++, Swift, or Objective-C.
Comfortable with Python and Bash for tooling.
Experience with Jenkins or similar CI infrastructure.
At Apple, we're not all the same. And that's our greatest strength. We draw on the differences in who we are, what we've experienced, and how we think. Because to create products that serve everyone, we believe in including everyone. Therefore, we are committed to treating all applicants fairly and equally. We will work with applicants to make any reasonable accommodations.