Position: Android developer
Company: GeeksForLess
Experience required: 3y
English level: upper

**Working schedule:**
till 12pm EST

**Environment and tools:**
- Android Studio 3.5 and higher
- Gradle build scripts

**Frameworks:**
- RxKotlin or RXJava
- High level components(Activity, Service, Content Provider, Broadcast Receiver, Intents)
- Views System, Layouts (via XML, via code)
- Fragments
- Resources Management
- Media Frameworks
- Material Design Concepts
- Platform API, Support Libraries and Google Play services API concepts and differences
- Dependency Injection Framework(Dagger 2 or Koin)
- Networking API okhttp, (Retrofit good to have)
- JSON Parsing framework(any), (GSON good to have)
- JetPack (LiveData, ViewModel)

**Experience:**
- 5+ years experience as android developer
- strong knowledge in RxKotlin or RxJava and creating reactive application
- Good knowledge in Object Oriented concepts and software engineering
- Experience on developing multi threading modules
- Good knowledge in database concepts and SQLite fundamentals
- Experience on developing rich UI components on Android platform
- Supporting different screen sizes and resolutions
strong GOF patterns;
- SOLID Principles
- MVC, MVP и MVVM
- RESTful APIs (JSON, XML)
- JIRA
- GIT

**Qualifications:**
Keep updated with the most recent features of Android ecosystem.
Understands mobile performance, latency, and security issues
Comfortable with Android performance (memory, speed, networking) and experience using performance analysis tools
Good experience with local caching and offline mode concepts
Knowledge of common theory of algorithms and data structures