Position: Senior Android Developer, Flutter developer
Category: Android
English level: upper
Years of experience: 8

Quick learner. It took 4 years to reach from trainee to senior dev + teamlead;
When Google proclaimed Kotlin as official develpopment language I had already had about 1 year experience with it.
When Google released first stable version of Flutter I had already published first Flutter app in store.

Generally attitude to achievements changes with growing and experience. Past achievements look not so important from now
Android developer (commercial) - since 2016
Flutter developer - since 2018
Android teamlead - 2019-2020 (1.5 yrs)
Lead developer - since 2021

Languages: Java, Kotlin, Dart;
Android SDK & support-libraries;
Flutter SDK;
Experience with KMM (Kotlin multiplatform);
Basic experience with React Native;

Android:
- Jetpack compose (declarative UI)
- Coroutines and flow; RxJava;
- Retrofit, OkHttp (REST API);
- Architecture Components (Lifecycle, LiveData, ViewModel)
- Koin, Hilt (Dependency injection);
- Firebase services (Firebase Authentication, Firestore Database, Firebase Cloud Messaging, Crashlytics, App Distribution)
- JUnit4, Truth, Espresso (Testing);
- Picasso, Glide (Images);
- Lottie (Animation);
- Experience with different programming patterns (MVP, MVVM, MVI) and Clean Architecture principles;
- Databases (SQLite, Realm, Room, ObjectBox);
- Working with payment systems (PayPal, LiqPay, In-app Billing, PayFort);
- Mixpanel statistics;
- In-app purchase;
- Launchdarkly;

Flutter:
- Futures, Streams;
- Experience with different programming patterns (BLoC, Cubit);
- REST API (Dio, Retrofit, HttpClient);
- Firebase services;
- Hive Database, Shared Preferences;
- Localization; MethodChannel;Authentication;

General:
- Git, Bitbucket;
- Jira, Atlassian Confluence;
- Figma, Zeplin, InVision;
- Swagger;
Android development or Flutter development. Ideally - combining both.
For Android - preferrably to use Jetpack Compose

React native is unacceptable