Position: Android Developer
Category: Android
English level: fluent
Years of experience: 4


Hi! My name is Danil and I am a software engineer. I develop and support new and existing client-server Android applications for customers in the whole world. I am using the most advanced IT technologies to achieve our chief goal is customer satisfaction. 

Technical skills:
- Languages: Java, Kotlin. 
- REST API: Retrofit 2, OkHttp.
- Databases: Room, SQL. 
- VCS: Git.
- Arch: MVVM, Clean
- DI: Koin, Dagger, Hilt
Other technologies and frameworks:
- XML, JSON, HTTP, Web sockets, TCP/UDP, Web Services
- Android data binding.
- Kotlin coroutines. 
- ExoPlayer
- Android API, OOP, and Reactive Programming, Android Architecture approach, Patterns of development, Data structures
- PlayMarket, Google Maps, Facebook, Youtube, Firebase, Cloud Messaging, Firestore.
- Push-notify, GPS location services.
- In-app billing and Subscription API.

Last project: 
C-re (2020 – Present)
Description: Application for a popular clothing brand from Switzerland. 

Role: Android Developer

Tasks: refactoring, bugfix, CI/CD integration (Bitrise), writing Unit and UI tests, implementation such features like:
- «Instagram»-like stories 
- Video playback (ExoPlayer)
- In-app purchases (Datatrans)
- Bluetooth beacon search (Estimote Proximity) 
- Push-notifications (Firebase + Pushwoosh)
- Deeplinks 
- Localization

Technologies: Android SDK, Kotlin, Gradle, Android Jetpack (Navigation Component, Room, Databinding), Kotlin Coroutines, Dagger 2, Firebase (Analytics, Crashlytics, Push-notifications), Mockito, Espresso, etc. 

The project is based on Clean Architecture with MVVM. We always try to keep the state of the code in the best possible way, we do not leave “technical debt”,  all the main functionality (business logic + UI) is covered by tests – this became possible as a result of careful division of the code into modules.