Abdulahi Osoble

Senior Software Engineer @Careem

Talk Title

Scaling Android Development without a Monorepo

Room

Sapphire Room

Date

20.09.2024

Time

09:20 > 40 min

Share

on Twitter

As mobile startups grow into medium sized companies, it's not always possible to have a monorepo. In this talk, we'll discuss how some strategies and tooling can help us ship and manage an Android app across a large number of repositories. We'll also discuss some of the problems we run into and how we can solve them.

We'll discuss topics such as:
- binary compatibility - why it's important and how we handle it (especially when a bump in a shared library might cause a crash in a completely different part of the app).
- tooling to understand changes to the dependency tree (what version changes occurred, what versions are behind, and catching these at CI).
- sharing Gradle build plugins to make life easier.
- code generation strategies to share code between Android and iOS.
- and more

We’ll also discuss a high level of the architectural decisions that allow adding or removing major pieces of functionality through just adding or removing a dependency to the Gradle script, and how this architecture gives us some neat advantages along the way.

Speaker Bio

A senior software engineer working at Careem as part of the Food android team

Menu