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.
Nice to Haves
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.
What You'll Be Doing
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.
Integrate and tune remote execution systems, specifically BuildBarn. Past experience with other tools in the space like EngFlow, BuildBuddy etc will come in handy.
Build and maintain hermetic Apple platform toolchains including SDK extraction and version pinning, Clang/Swift invocation under Bazel.
Build IDE integrations, instrument build graph performance, and author tools to visualize dependency edges, configuration transitions, and remote execution behavior.
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.