Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Building Android Infrastructure Teams at Scale
Search
Mohit S
May 05, 2022
Programming
460
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Building Android Infrastructure Teams at Scale
Mohit S
May 05, 2022
More Decks by Mohit S
See All by Mohit S
Guide to Improving Compose Performance
heyitsmohit
0
360
Building Shared UIs across Platforms with Compose
heyitsmohit
1
750
Building Multiplatform Apps with Compose
heyitsmohit
2
670
Building StateFlows with Jetpack Compose
heyitsmohit
6
2.1k
Building Android Testing Infrastructure
heyitsmohit
1
700
Migrating to Kotlin State & Shared Flows
heyitsmohit
1
930
Using Square Workflow for Android & iOS
heyitsmohit
1
570
Strategies for Migrating to Jetpack Compose
heyitsmohit
2
710
Challenges of Building Kotlin Multiplatform Libraries
heyitsmohit
1
560
Other Decks in Programming
See All in Programming
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
14
11k
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
360
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
290
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
720
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
350
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
300
Kawaiicon: Kubernetes, it's no longer cool, but let's secure it anyway!
barnbarn
0
110
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
300
作れるエンジニアから、価値を届けるエンジニアへ
ryunakayama
1
230
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
220
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
410
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
3
790
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
320
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
240
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
570
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
610
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
400
The Mindset for Success: Future Career Progression
greggifford
PRO
0
560
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
600
Making Projects Easy
brettharned
120
6.8k
Transcript
Mohit Sarveiya Building Android Infra Teams at Scale @heyitsmohit
Building Android Infra Teams at Scale • Purpose & Motivations
• How to build an infra team • Best practices
What is an Android Infra Team? • Focuses on Arch,
CI and Tooling • Customers are devs.
Motivations Team Size Complexity
Greenfield Phase • Small team size • Iterate quickly •
Minimal processes
Motivations Team Size Complexity
Scaling Up • Larger team • Developer Experience • Tooling
Scaling Problems • Gradle build setup & build times
Scaling Problems Teams Monorepo
Scaling Problems Monorepo Gradle
Gradle Setup • 100+ Gradle Modules • Gradle Plugins (KAPT)
• Library Dependencies
Scenario • Upgrade Gradle Plugin
Scenario • Upgrade Gradle Plugin • Causes Out of Memory
Exception
Scenario • Upgrade Gradle Plugin • Causes Out of Memory
Exception • Effects whole team (Slows down development)
Motivations for Infra • Need to maintain Gradle setup •
Detect build regression
Scaling Problems • Gradle build setup & build times •
Architecture Fragmentation
Scaling Problems Codebase
Scaling Problems Codebase Legacy code
Arch Fragmentation • Legacy Architecture • Example - MVC/MVP •
Older design patterns
Arch Fragmentation Codebase Legacy code Feature A
Arch Fragmentation Codebase Legacy code Feature A Feature B
Motivations for Infra • Uniform app arch • Specify how
to migrate legacy arch
Building Infra Team
Team Charter • Ownership areas
Ownership Areas • Architecture • Shared Libraries • Build tools
(Gradle, Buck, Basel) • CI
Ownership Areas Team Size Complexity 100+
Ownership Areas Infra Org
Ownership Areas Infra Org CI Arch Dev Ex Build Tools
Teams
Ownership Areas Team Size Complexity 30+
Ownership Areas Infra Org Single Team (CI, Arch, Build Tools)
Teams
Challenges • Diverse skill set
CI • How to build pipelines • Jenkins or CircleCI
• Setting up automation
Challenges • Diverse skill set • Prioritizing
Ownership Areas • Architecture • Shared Libraries • Build tools
(Gradle, Buck, Basel) • CI
Team Charter • Ownership areas • Key Performance Indicators (KPIs)
Key Performance Indicators (KPIs) • Service Level Objectives
Service Level Objectives • Build times • Infra for performance
metrics • Infra for network metrics
Service Level Objectives Codebase Feature A Feature B Feature C
Scenario 9:41 • Scroll performance • Network Latency
Service Level Objectives Platform Monitoring
Team Charter • Ownership areas • Key Performance Indicators (KPIs)
• Objectives and key results
Objectives & Key Results (OKRs) • Top down approach •
Bottom up approach
Objectives & Key Results (OKRs) • Determine important problems to
solve • Prioritize
Team Surveys • Challenges • Build times • Architecture •
Testing
Building Roadmap Team survey OKRs & Priotrize projects Execute
Examples OKRs • Improve local build times by 10% •
Reduce onboarding to 10th commit • Refactor navigation
Team Charter • Ownership areas • Key Performance Indicators (KPIs)
• Objectives and key results
Best Practices
Best practices • Feedback
Acquisitions Feature Teams Infra Team Continous Feedback
Acquisitions Improvement POC Details Serialization Performance Feature Team A Feature
Team B
Planning Review acquisitions Priortrize/Plan Setup Roadmap
Bi-Weekly Updates Feature Teams Infra Team Digests
Bi-Weekly Digests • Project Status • Improvements • Infra Asistance
Example • Improved Gradle build times by 10% • Created
tools to improve dev workflow • Assisted in project
Best practices • Feedback • Expectations
OKRs • Not every OKR can have a metric
OKRs • Not every OKR can have a metric •
Continuous team survey feedback
Best practices • Feedback • Expectations • Setup processes for
using new tech
Introducing New Libraries Request for Comments Proposal
Introducing New Libraries Request for Comments Proposal Reviewed by Infra
Introducing New Libraries Request for Comments Proposal Reviewed by Infra
Approval & Follow up
Best practices • Feedback • Expectations • Setup processes for
infra • Automate best practices
Automate Best Practices • Static Code Analysis • Custom lint
rules
Best practices • Feedback • Expectations • Setup processes •
Automate best practices • Open source libraries
Open source libraries Team B Team A Team C Distribute
ownership
Open source libraries Team B Team A Team C Distribute
ownership SDK
Open Source libraries (Infra ownership) • Gradle tools • Custom
Lint repo • Arch frameworks
Open Source libraries • Prioritize OSS issues in planning •
Setup milestones for releases
Best practices • Feedback • Expectations • Setup processes for
new tech • Automate best practices • Open source libraries
Building Android Infra Teams at Scale • Purpose & Motivations
• How to build an infra team • Best practices
Thank You! www.codingwithmohit.com @heyitsmohit