About the role
As an Android engineer on our Application Stability and Performance team you’ll own the stability and performance of the Duolingo Android Learning app for millions of learners.
This team builds the tooling other engineers depend on to keep the app performant like AI agent driven crash and memory analysis, coroutine system tracing, and Macrobenchmark suites that catch regressions before they ship. You'll also own the performance metrics that feed into our experiment analyses and help ensure hundreds of concurrent experiments surface any performance issues or regressions.
Responsibilities
- Lead architectural initiatives to fix the slowest parts of the app, from startup to critical learning flows
- Own and evolve our performance tooling with tracing, benchmarking, and automated regression detection
- Serve as a bridge between Client Platform and Product feature teams, helping them understand and act on the performance data we provide
- Foster a culture of engineering excellence around performance and mentor engineers of all experience levels
Requirements
- Worked on and shipped large scale Android applications
- Experience identifying the root cause and resolving ANRs, memory leaks, dropped frames, and complex crashes
- Strong Kotlin skills and deep familiarity with coroutines, Jetpack Compose, and modern architecture patterns
- Experience optimizing startup time, memory, and network usage for low-memory devices
- Strong problem-solving skills and a passion for tackling difficult challenges
Exceptional candidates will have
- Expertise in Android tracing tooling like the AndroidX Tracing Library and Perfetto
- Experience with crash observability tooling like Sentry and Android Vitals