Android Engineer
ExternalFull-timeOn-site1mo ago
AndroidAPI DesignCI/CDData ModelingGitHubGitHub Actions
Prepare for this interview
EliteAI-generated questions, company research, and talking points tailored to this role
Responsibilities
- 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
Requirements
- 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.
Benefits
Remote work optionsPerformance bonus
Additional Information
About the role I 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.
Your Match
How well this role fits your profile.
Company Intel
What employees say
Worked at opennet? Share your experience