Tech Stack
AndroidCloudDaggerFirebaseIoTJavaKotlinMaven
About the role
- Lead end-to-end development of Android SDKs to be integrated by external developers.
- Design and implement modular, high-performance SDKs in Kotlin/Java.
- Own the SDK lifecycle: planning, development, testing, release, and long-term maintenance.
- Manage versioning (semantic versioning), changelogs, and ensure backward compatibility.
- Publish artifacts to Maven Central / JitPack and handle release management.
- Profile, benchmark, and optimize for low memory, battery, and network usage across devices.
- Implement security measures: encryption, token handling, and privacy-first data practices.
- Produce documentation, Javadoc/KDoc, and sample apps to enable quick integration by external teams.
- Collaborate with product, backend, and QA teams; automate CI/CD (GitHub Actions/Bitrise) and conduct code reviews.
- Oversee release plans and support cross-functional teams in Android component design and implementation.
Requirements
- Design & Build: Craft modular, high-performance Android SDKs in Kotlin (and supportive Java) that are easy to integrate and extend.
- SDK Lifecycle Ownership: Own the full SDK development lifecycle including planning, development, testing, and release. Manage semantic versioning and long-term maintenance.
- Release Management: Publish artifacts to Maven Central / JitPack, manage semantic versioning, changelogs, and ensure backward compatibility.
- Performance & Reliability: Profile, benchmark, and optimize for low memory, battery, and network usage across a wide device matrix.
- Security & Compliance: Implement encryption, token handling, and privacy-first data practices.
- Documentation & Samples: Produce clear guides, Javadoc/KDoc, and sample apps for external teams.
- Collaboration: Partner with product, backend, and QA; automate CI/CD (GitHub Actions/Bitrise); drive code reviews.
- Implement Best Practices: Optimize development processes for cost-efficiency and observability; design solutions for diverse deployment environments.
- Manage Releases: Oversee release plans, timely updates and feature rollouts; support cross-functional teams in Android component design and implementation.
- Minimum 4-8 years of hands-on experience in Android application development (minimum 4 years required).
- Proven track record of delivering and maintaining Android applications, especially with map functionalities.
- Proficiency in Kotlin and Java, Android Studio, and Android Jetpack components (LiveData, ViewModel, Navigation, Room).
- Experience with Retrofit, Dagger, Firebase, Coroutines, Flow.
- Strong familiarity with mapping technologies and SDKs including Google Maps and Mapbox.
- Expertise in multi-threading, synchronization, WorkerManager for background tasks.
- In-depth knowledge of memory management, battery optimization, identifying and resolving memory leaks.
- Strong analytical and problem-solving skills; proficiency in Data Structures and Algorithms (DSA).
- Experience working in Agile development environments.
- Release management experience including version control, deployment, and monitoring of Android applications.
- Excellent written and verbal communication skills.
- Innovation and adaptability; continuous learning mindset.