Back to jobs
Android Engineer
Taiwan
About the roleI
In this role, you have an opportunity for significant impact through your ability to increase developer efficiency and product quality through your work. You’ll play an impactful role to build mobile-first experiences Apps.
What you'll be doing
- Collaborate with Product Managers, Designers, and Backend Engineers to design and deliver high-quality products on Android
- Build end-to-end features of the app: networking, persistence, business logic, and UI
- Build efficient and reusable mobile components and architect reliable and scalable mobile solutions
- Identify areas of improvement and advocate for mobile best practices
- Analyze and optimize UI and infrastructure application code for quality, efficiency, and performance
Our Stack
- Android Architecture Components and Android KTX
- MVVM with Clean Architecture
- Jetpack Compose
- Local data persistence: DataStore, Room
- Multi-Module Project
- Language: Kotlin, Java
- Dependency Injection (DI): Hilt
- Reactive programming: Flow, LiveData, RxJava
- Network: Retrofit, OkHttp, WebSocket, Protocol buffers
- Kotlin Coroutines
- CI/CD: Github Actions, Jenkins
- Test: Espresso, Kaspresso, JUnit, Mockito, Mockk
What you'll bring
- 3+ years of application development experience on Android
- Proficiency with Kotlin and Java
- Familiar with Android components and their lifecycle (Activities, Fragments, Services, etc.)
- Familiar with Kotlin Coroutines
- Familiar with Reactive programming (Flow, LiveData, etc.)
- Familiar with RESTful API integration (Retrofit, OkHttp)
- Understand and have experience with Dependency Injection (DI)
- Understand the Android app architecture guide (UILayer, DataLayer, ViewModel, Repository, etc.)
- Experience with local data persistence (Room, SQLite, DataStore, SharedPreferences, etc.)
- Understand and have experience in making decisions about mobile application architecture, including data modeling, networking, and data synchronization, and concurrency
- Experience in building maintainable and testable code bases, including API design and unit testing techniques
- Good communication and collaboration skills to be able to work in a fast-paced and distributed environment
Even better if
- Experience with Clean Architecture
- Experience with Jetpack Compose
- Experience with WebSocket
- Experience with RxJava
- Experience in developing Multi-Module Project
- Experience with Performance Tuning (ANR, Memory Usage, Launch Time, etc.)
- Experience with Unit Test, UI Test, Test Driven Design, Mock pattern
Bonus points for
- Previous history of working with a remote, distributed team
- Experience with mobile video playback and streaming technologies
If you're interested, we encourage you to apply! Every application is reviewed by a member of our team (AI is not used in our recruitment process), and we aim to respond within 48 hours.
Apply for this job
*
indicates a required field
