Николай Унучек
Senior / Lead Android Developer
Минск (GMT+3) · Remote
Android-разработчик с 14 годами в IT (коммерческая Android-разработка с 2015 года, до этого 3 года в QA). Специализация — крупные многомодульные приложения, продуктовая аналитика, A/B-тестирование и построение CI/CD с нуля. Более 6 лет вёл продукт как единственный Android-разработчик, сейчас работаю в команде 10+ человек над крупным маркетплейсом.
Ключевые достижения
Ускорил CI-сборку ~в 4 раза
С 1 ч 20 мин до ~20 мин — за счёт Gradle build cache, parallel и configuration cache, incremental-сборки, R8 full mode, модульности и оптимизации прогона unit-тестов по модулям.
Ускорил отрисовку экранов на ~70%
После миграции с XML на Jetpack Compose — измерено на реальных пользователях через аналитику.
Внедрил детальную аналитику поисковой выдачи
На основе которой команда улучшала ранжирование и конверсию поиска, что способствовало росту бизнес-показателей.
LinkedIn Skill Assessments (2020)
Android — топ-5% из 465 тыс.; Kotlin — топ-5% из 38 тыс. Серия Expert-тестов по Android, Kotlin и Java.
Опыт работы
Senior Android Developer — Competo LLC · Birmarket (umico.az)
Ноя 2023 — настоящее времяRemote, Азербайджан
- Birmarket — один из крупнейших e-commerce маркетплейсов / супер-приложений Азербайджана: маркетплейс, бонусная программа и кредитные сервисы/рассрочка. 1 млн+ скачиваний в Google Play. Отдел Каталога и Поиска.
- Разработка и поставка клиентских фич: открытые/кастомные фильтры на листингах; персональные рекомендации и блок «Вы просматривали»; кредитный калькулятор; поисковые саджесты и история поиска.
- Сложные инженерные задачи: миграция MVVM→MVI; перевод сотен модулей на api/impl и non-transitive R classes; CI/CD на Azure DevOps; миграция крупного XML-экрана на Compose; оптимизация скорости сборки.
Kotlin, Coroutines/Flow, Jetpack Compose (Material3), Koin, Retrofit2/OkHttp, Firebase, JUnit5/MockK/kotest/Allure, Azure DevOps; сотни Gradle-модулей
Android Lead / Senior Developer — viplay media · Moodby
Апр 2017 — Ноя 2023Минск (6 лет 8 мес)
- Moodby — B2B-сервис фоновой музыки для заведений (бары, рестораны, магазины). Два Android-приложения: клиентское приложение и плеер для заведений с воспроизведением по расписанию/каналам/плейлистам.
- Единственный Android-разработчик продукта более 6 лет; определял архитектуру и стандарты кода.
- Архитектура: feature-based многомодульность (api/impl), Clean Architecture (UseCase/Repository/Interactor), MVP→MVVM, Dagger2 DI, version catalog, общий код через внутренние библиотеки.
- Медиа: ExoPlayer — фоновое воспроизведение, локальный плейбэк, проигрывание по расписанию, обработка ошибок треков; MotionLayout для экрана плеера.
- Offline/realtime: offline-first плеер, устойчивый к потере сети; realtime-синхронизация на Socket.IO с переподключением; Realm с миграциями схемы и шифрованием.
- Построил CI/CD с нуля: Bitbucket Pipelines, Gitea Actions, Docker, git submodules, выгрузка в Firebase App Distribution по окружениям, release notes, уведомления о сборках в Slack.
- Миграции: RxJava2→Coroutines/Flow; MVP→MVVM; View/XML→Jetpack Compose; монолит→многомодульность.
Kotlin, Coroutines/Flow, Dagger2, ExoPlayer, Realm, Socket.IO, Bitbucket Pipelines, Gitea Actions, Docker
Android Developer — Mobexs
Ноя 2015 — Апр 2017Минск (1 год 6 мес)
- Разработка Android client-server приложений; несколько проектов реализованы полностью самостоятельно.
- Работа с железом: поиск BLE-сенсоров и чтение/запись GATT-характеристик; RFCOMM-подключение к OBD; авторизация через Auth0; фоновая синхронизация через SyncAdapter; кластеризация маркеров на Google Maps; шифрование файлов.
- Проекты: WaterWorx (BLE/GATT-сенсоры), OBD reader (Auth0 + BLE + RFCOMM + SyncAdapter), YouPick, Welbe (носимые устройства), GreatWork.
BLE/GATT, RFCOMM, Auth0, SyncAdapter, Google Maps, javax.crypto
QA Manual — Elilink Consulting
Май 2012 — Ноя 2015Минск (3 года 7 мес)
- Ручное тестирование Web/Android/iOS-приложений (40+ продуктов) на разных устройствах.
- Перешёл в разработку, опираясь на сильную базу в тестировании и опыт программирования на Java; курс «Основы тестирования ПО» (Itransition, 2012).
Ручное тестирование, Web/Android/iOS
Технический стек
- Языки
- Kotlin, Java
- UI
- Jetpack Compose (Material3, Navigation), Android View/XML, MotionLayout, Google Maps
- Архитектура
- Clean Architecture, SOLID, MVI, MVVM, MVP, feature-based многомодульность (api/impl), UDF
- Асинхронность
- Coroutines, Flow, RxJava/RxAndroid
- DI
- Koin, Dagger2
- Сеть
- Retrofit2, OkHttp, Socket.IO
- Данные
- Room, Realm (миграции, шифрование), SQLite, ORMLite; offline-first, кэширование, синхронизация
- Медиа / железо
- ExoPlayer (фоновое аудио, локальный плейбэк); BLE/GATT, RFCOMM, OBD, сенсоры
- Тестирование
- JUnit, kotest, MockK / mockito-kotlin, UI-тесты (BrowserStack), Allure, TDD
- CI/CD
- Azure DevOps Pipelines, Bitbucket Pipelines, Gitea Actions, Firebase App Distribution, Docker
- Сборка
- Gradle (многомодульность, build/configuration cache, convention-плагины, version catalog), Azure Artifacts
- Firebase
- Crashlytics, Analytics, Dynamic Links, Remote Config (A/B)
- Качество кода
- detekt, ktlint, .editorconfig, обфускация, кастомные lint-правила
Образование и языки
Белорусский государственный университет, Минск
2008 — 2013Факультет радиофизики и компьютерных технологий — «Радиофизика и электроника»
Сертификаты и тесты
- LinkedIn Skill Assessment — Android, топ-5%
- LinkedIn Skill Assessment — Kotlin, топ-5%
- Expert-тесты: Android, Kotlin, Java
- Курс «Основы тестирования ПО», Itransition (2012)
Языки
- Русский / Белорусский — Родной
- Английский — B1
- Немецкий — A1
Контакты
Открыт к ролям Senior (IC) и Lead / Team Lead, remote, в продуктовых компаниях уровня scale-up и enterprise.
