Position: Android Software Engineer
Company: AgileVision
Category: Android
Experience required: 2y
English level: intermediate

**You will be working with:**
- Modern Android Platform
- Modern approaches (we use microservice-based and monolith architecture where appropriate)
- A team of experts like you
- IDEs of your choice

**Responsibilities:**
- Design and implement components of sophisticated mobile apps
- Write code to consume REST API
- Write code to interact with IoT devices using MQTT
- Writing unit and integration tests
- Performing code reviews

**Requirements:**
- Good spoken and written English
- Knowledge of data structures and algorithms
- Strong knowledge of Java
- Knowledge of Kotlin will be a plus
- Understanding of the Android platform, build/release process of mobile apps
- Familiarity with modern design patterns, MVVM
- Knowledge of Reactive Programming will be a plus
- Knowledge of Dagger 2, Room, Retrofit and OkHttp will be a plus
- Knowledge of Flutter will be a big advantage
- Experience writing platform-specific code (native modules) for Flutter 
- Experience with MQTT will be a plus
- Being ready to learn new technologies and approaches

**Benefits:**
- Proper compensation
- Coverage of paid certifications
- Teambuilding events
- Microbonuses system
- Remote
- 20 days vacation
- 24 days sick-leave

**About the interview process** ( a.k.a. a bonus for those who can read so much text):
1. Brief introductory call
2. Deep technical interview, the interview consists of two rounds, one hour each