Build and Developer Productivity Engineer (m/f/d)

  • Full Time
  • Munich
  • 60 - 80
  • Salary: 60 - 80

Apple

We’re looking for a Build Engineer who can operate at the intersection of Bazel internals, remote execution infrastructure, and Apple technologies. This is a hands‑on engineering role; heavy on Bazel rule design, hermeticity, toolchain modeling, and Apple platform integration. If you’ve spent time taming Xcode, aligning Apple SDKs with Bazel toolchains, or wrangling with xcodebuild, codesign and ibtool, you’ll feel right at home.

Beyond the technical responsibilities, we look for someone who finds satisfaction in making developers’ everyday experience better. You will create a build environment that allows a developer to reproduce a build failure in CI with a single command on their workstation, debug a crashing remote process with an IDE‑based debugger, and constantly surprise teams with a slightly faster build on a regular basis, while contributing fixes and tools to the open‑source Bazel ecosystem.

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 (experience with EngFlow, BuildBuddy, etc. is a plus).

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 (e.g., Tuist or xcodegen).

Developer Productivity Tooling

  • Build IDE integrations (generating compile_commands.json, Clang module maps, etc.).
  • Instrument build graph performance to reduce graph depth, action fan‑out, hermetic toolchain overhead, and 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 actionable information for developers.

Minimum Qualifications

  • Experience in software engineering and Bazel‑focused build systems in system software.
  • Deep knowledge of Bazel, including authoring rules, Apple platforms, toolchains (native + custom), 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.

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.

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.

#J-18808-Ljbffr

Comments are closed.