Shrink the workload, not just speed it up: partner on smart test selection over the shared Bazel graph so each change runs only the tests it can affect, without sacrificing quality.
Define and track build health — latency, success rate, cache hit rate, and flakiness — and catch regressions before developers feel them.
Lead through influence: write design documents, set standards, mentor engineers, lead build incident response, and partner with Android Platform, CI Platform, and product teams to deliver improvements across the organization.
About the Team
Core Build is Uber's centralized build platform team. We own the common build infrastructure — Bazel, Gazelle, build rules, client-side remote build caching and execution, and shared build/test CI pipelines — across Uber's Java, Go, Android, iOS, and Web monorepos.
Our vision is simple: make builds fast with less friction. Because the stack is shared, an improvement we make once benefits every engineer at Uber.
We work across three pillars
Velocity: Make builds faster everywhere with fewer resources — in CI, remote development environments, and on laptops — through caching, remote execution, sharding, and build-graph optimization.
Reliability & Diagnosability: A build failure should never leave an engineer stranded. Every failure should communicate what failed, how to fix it, and who can help.
Modernization, Unification & Scale: Keep the platform on the latest Bazel, maximize CI fleet utilization with smart test selection and build-graph pruning, and apply GenAI/ML to automate diagnosis and optimization.
Our next major initiative is to stop compiling the same code thousands of times: make mobile builds remote-first, so a local build becomes a download rather than a compile, and run only the tests a change can actually affect.
As the Staff Android Engineer on the team, you will be the technical owner for the Android side of this roadmap.
Minimum Qualifications
Bachelor's degree in Computer Science or a related field, or equivalent practical experience.
8+ years of full-time engineering experience.
Systematic problem-solving approach and knowledge of algorithms, data structures, and complexity analysis.
Strong understanding of Android development.
Preferred Technical Skills
Deep, hands-on experience with Bazel (or Buck) for Android builds: Starlark rules, rules_android / rules_kotlin, build-graph and dependency management.
Remote build caching and remote execution (Remote Execution API; e.g., Buildbarn, BuildBuddy, EngFlow).
Android build internals: Gradle, D8/R8, resource processing, and Kotlin compiler / annotation-processing performance.
CI systems at scale (e.g., Buildkite): sharding, test orchestration, and flaky-test management.
Build performance analysis and observability (Bazel profiles, Build Event Protocol, metrics, and regression dashboards).
Leading large-scale build migrations or upgrades (e.g., Buck/Gradle to Bazel, Bazel major versions, bzlmod).
Tooling development in Kotlin/Java.
Applying LLMs/AI agents to developer tooling (e.g., automated build-failure diagnosis).
Cross-platform experience (Android and iOS).
For New York City, NY-based roles: The base salary range for this role is USD $232,000 per year - USD $258,000 per year.
For San Francisco, CA-based roles: The base salary range for this role is USD $232,000 per year - USD $258,000 per year.
For Seattle, WA-based roles: The base salary range for this role is USD $232,000 per year - USD $258,000 per year.
For Sunnyvale, CA-based roles: The base salary range for this role is USD $232,000 per year - USD $258,000 per year.
For all US locations, you will be eligible to participate in Uber's bonus program, and may be offered an equity award & other types of comp. All full-time employees are eligible to participate in a 401(k) plan. You will also be eligible for various benefits.