Senior Android Engineer

Remote, India·Posted today
<h2 data-pm-slice="1 1 []">About Epic</h2> <p>Epic Kids is the leading digital reading platform built for kids 12 and under, trusted by millions of children, educators, and families around the world. Our mission is to inspire a lifelong love of reading by providing unlimited access to thousands of high-quality books, videos, and educational content through a safe and engaging experience. We combine technology, storytelling, and learning innovation to help every child become a confident reader.</p> <p>At Epic, you'll join a collaborative and fast-paced global team passionate about building meaningful products that make a real impact on children's education and literacy.</p> <h2>About the role</h2> <p>You'll own Epic's native Android app, the main way kids open a book on Android phones, tablets and Chromebooks. It's a large, mature Kotlin codebase with some Java and xml UI layouts. You'll work independently and partner closely with our Android, iOS, backend and web engineers and with the US engineering team.</p> <h2>What you'll do</h2> <ul data-spread="false"> <li> <p>Own and evolve the Android app across phones, tablets and Chromebooks.</p> </li> <li> <p>Own the reading experience: our in-house page renderer and page-flip animation, zoom and gestures, and Read-to-Me audio synced to word highlighting.</p> </li> <li> <p>Own offline reading (encrypted downloads, background work, local storage), Google Play Billing subscriptions, and the Play Store release pipeline.</p> </li> <li> <p>Drive performance, stability and quality: startup time, memory, ANRs and crashes, and test coverage.</p> </li> <li> <p>Modernize carefully: move legacy Java and RxJava code forward without breaking a live app. also move to compose UIs whenever possible.</p> </li> <li> <p>Over time, pick up some iOS/Swift work.</p> </li> </ul> <h2>What we're looking for</h2> <ul data-spread="false"> <li> <p>4 - 6 years of building and shipping native Android apps.</p> </li> <li> <p>Strong Kotlin, and comfortable working in mixed Kotlin and Java code.</p> </li> <li> <p>Deep experience with the Android View system, Fragments and custom Views: custom drawing, animation and touch handling.</p> </li> <li> <p>Reactive and async programming: RxJava 2 in production, plus Kotlin coroutines.</p> </li> <li> <p>Dependency injection, MVP or MVVM architecture and Networking with Retrofit and OkHttp.</p> </li> <li> <p>Local persistence with Room/SQLite, including schema migrations, and background work with WorkManager.</p> </li> <li> <p>Google Play Billing and the release pipeline: Gradle build variants, app signing, CI (Jenkins or similar), Play Console tracks and staged rollouts.</p> </li> <li> <p>Testing with JUnit, Mockito or MockK, Robolectric and Espresso.</p> </li> <li> <p>Bachelor's degree or equivalent practical experience.</p> </li> </ul> <h2>Nice to have</h2> <ul data-spread="false"> <li> <p>Media: ExoPlayer/Media3, MediaPlayer, and syncing audio to text.</p> </li> <li> <p>Handling encrypted media and content stored offline.</p> </li> <li> <p>Jetpack Compose, and the judgment to know when it fits alongside an existing View-based codebase.</p> </li> <li> <p>Performance tooling: Perfetto, Android Studio profilers, LeakCanary, New Relic or Crashlytics.</p> </li> <li> <p>Experience with kids' or education apps and children's privacy rules (COPPA).</p> </li> <li> <p>Interest in cross-platform mobile and some familiarity with iOS/Swift.</p> </li> </ul> <h2>Compensation</h2> <p>40–50 LPA, with some flexibility for exceptional candidates.</p>