👨🏻‍💻 postech.work

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

Apple • 🌐 In Person

In Person Posted 16 hours, 49 minutes ago

Job Description

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, what we are looking for is someone who gets a deep sense of satisfaction from making the everyday lived experience of development teams better. If you get a kick out of creating a build environment that allows a developer to reproduce a build failure in CI with a single command on their workstation, or debug a crashing remote process with an IDE based debugger or constantly surprising development teams with a slightly 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.

Get job updates in your inbox

Subscribe to our newsletter and stay updated with the best job opportunities.