Staff Software Engineer – Android Build Infrastructure
Uber
Qualifications
Education
Bachelor's degree in Computer Science or a related field, or equivalent practical experience.
Experience Requirements
Required
8+ years of full-time engineering experience.
8 years of experience
Benefits & Perks
Benefits Package
- bonus program
- equity award
- 401(k) plan
- various benefits
Required Skills
Technical Skills
Full Job Description
Engages with stakeholders across teams to lead the design, development, and evolution of the build systems and CI infrastructure that every Android engineer at Uber depends on.
Every change to Uber's Android apps — Rider, Driver, Uber Eats, and more — flows through the build. In this role, you will own the Android build end to end: the Bazel build graph and rules, remote caching, and the CI pipelines that verify every change before it lands. You will set the technical direction for making Android builds faster, more reliable, and more cost-efficient at monorepo scale, and lead cross-team initiatives to achieve these goals.
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:
- Make builds faster everywhere with fewer resources — in CI, remote development environments, and on laptops — through caching, remote execution, sharding, and build-graph optimization.
- A build failure should never leave an engineer stranded. Every failure should communicate what failed, how to fix it, and who can help.
- 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 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.
Uber is proud to be an Equal Opportunity employer. All qualified applicants will receive consideration for employment without regard to sex, gender identity, sexual orientation, race, color, religion, national origin, disability, protected Veteran status, age, or any other characteristic protected by law. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you have a disability or special need that requires accommodation, please let us know by completing this form.
How to Apply
Uber pays $91 for Software Engineer in New York, New York, with most salaries ranging from $69 to $121. Pay can vary based on role, experience, and local cost of living.
Companies Similar to Uber for Jobs
Share This Job
Figures represent approximate ranges and may vary based on experience, location, and other factors. For the most accurate information, please consult the employer directly. Contact us to suggest updates to this information.





