I write code to help others code – to get major developer tooling annoyances out of the way – allowing talent to focus on producing feature code, instead of debugging tooling issues.
Nikhil Ramakrishnan
Seamless mobile code merges
At Uber, we support thousands of developers contributing to Android code. If builds are rapid, and stable, developer productivity is high.
You’re working on a new mobile feature. It’s taken you weeks. You’ve been running your tests on CI. Your manager is asking you if you’ll hit the deadline. You feel confident, so you say yes. The day comes when you need to land your code. You try to merge it, but everyone’s merging code on the same day. Your code fails to merge, and your feature is delayed. Everyone is frustrated. We’ve all been there before.
Keeping developer productivity high with our monorepo and thousands of developers is what we do at Uber. In my presentation, I will be discussing how you can do seamless mobile code merges at scale.
These are some of the key points I will be talking about:
- Pre merge validation
- Post merge validation
- Cache freshness
- Parallelism/sharding
- Merge queue optimizations
- Optimizing for cost vs performance
- Success metrics