🕵🏻♂️ Профиль в Linkedin.com
📗 Рекомендательные письма
🧑🏻💻 участник сообщества RxSwift на GitHub
Занимаюсь iOS разработкой на Swift больше 6 лет. Есть опыт в роли ведущего разработчика в небольшой команде (~5 человек). Обладаю отличными знаниями по основным фреймворкам iOS, и базовые знания по алгоритмам и структурам.
Есть опыт работы над продуктом и проектом, включая стартапы. В больших и маленьких командах.
Помимо разработки в свободное время работал над своим продуктом MySubscribe, для решения проблемы с мониторингом подписок с помощью одного сервиса. Как мне показалось, помимо самой разработки получил еще опыт в тимлидстве, продакта/проджекта и так же аналитика. Был успешный запуск в AppStore, получал награду #2 SaaS product of the month на ProductHunt.
Так же, работал над оптимизацией работы приложений, улучшая статистику crash-free (к примеру, в Tooba улучшил до 99.8%), проведение a/b тестов, работа с аналитикой (Google analytics/Firebase, AppMetrica, Amplitude).
Работал keychain, keychain-group, с шифрование/дешифрованием ключей (CryptoSwift)
Интеграция внутренних покупок и подписок.
Работал с платежными SDK, Stripe, YooMoney, AppHud, Qonversion
Мои работы:
С чем я работал:
Архитектура: MVVM-C+RxSwift, VIPER, MPV, MVC
Работа с сетью: Moya/RxMoya, Alamofire, SwiftProtobuf, Socket.io and etc.
Верстка: SwiftUI • Code layout (SnapKit) • AutoLayout • Storyboard
Работа с БД: Realm • CoreData • SQLite • UserDefaults
Работа с картами: GoogleMaps • YandexMaps
Для мониторинга, отслеживания действий пользователя: Firebase Analytics/Crashlytics • Sentry • AppMetrica • Amplitude
Есть опыт работы в команде: Git • Jira • Trello • Slack • Toggl • Stride
Работал в следующих проектах:
Работал над внутренними продуктами кампании. Отвечал за один внутрепродуктовый проект Curbside Pickup и модуль к основному проекту Route4Me.
- Отображение списка товаров со статусом (в пути, ожидает получения или прибыл)
- Сканирование товаров и обновление статуса
- Фильтр для сканирование (regex)
- Получение уведомления об изменения статуса товаров (использовали
PusherSwift для рабоыт с пушами)
- В дизайне проекта использовали компоненты в стиле Material Design, для их реализации юзали MaterialComponents библиотеку.
Стэк: PusherSwift, MVVM, MaterialComponents
2. Sorter модуль. Схожий функционал с Curbside Pickup но используемый в основном проекте как модуль (подключали модули через GitSubmodule).
- Разработка переиспользуемых UI компонентов
- Хранение и работа с данными в локальной БД (использовали CoreData)
Стэк: MVVM, CoreData, Regex
Мой Side-проект, работаю над ним в свободное время
Занимаюсь разработкой сервиса MySusbcribe для управления подписками, от идеи до запуска и дальнейшего развития, собрав небольшую команду из 5 человек.
Создание проекта позволило мне развить свои навыки в роли project/product'a и тимлида, на данный момент занимаюсь продвижением, развитием iOS приложении (временно убрал с AppStore).
Получил награду #2 SaaS product of the month на ProductHunt
Стартап Tooba - подключился к команде когда продукт был готов, позже занял роль ведущего iOS разработчика. Проанализировав код проекта, и время, затрачиваемое на реализацию новых фич и исправления ошибок, начал рефакторить проект и переписывать на MVVM-C + Clean Architecture, убедив сперва CTO в этой необходимости 🙂
Было сделано:
- Интеграция Firebase Remote Config
- Рефакторинг проекта и переписывание архитектуры.
- Последствия рефакторинга:
улучшил статистику crash-free с ~96-97% до 99.98%
на реализацию новых фич и исправление багов начали тратить меньше времени
- Внедрил YooMoney SDK для возможности доната не покидая приложения (возможность оплаты с помощью банковской карты и ApplePay)
... и работа над другими разными фичами, которые поступали от product менеджера.
Стэк: MVVM-C, RxSwift, SnapKit, GRDB, SwiftGen, YooMoney
Занимался разработкой клиентской программы для ПАО "Уралкалий" под руководством старшего разработчика.
Получил награду Tagline Awards 2019. Лучшее вовлечение в интернет, 3 место.
Разработка ввелась с нуля, приложения предназначалось для сотрудников кампании. С новостной лентой, с опросами, с возможность авторизоваться по QR коду и т.д. Из того что сделано мною можно выделить:
- Сканирование QR кода
- Хранения данных на Realm
- Сетевой слой на Moya/RxMoya
- Подключение и настройка аналитики AppMetrica
- Реализовывал сложную верстку галереи на UICollectionView
- Таблица с различными видами ячеек, включая видео, аудио, галереи. Для упрощения использовали RxDataSources.
Основной стэк: MVVM, Moya, RxSwift, RxDataSource, Realm, Yandex AppMetrica, Kingfisher
Работал над разными проектами, начиная от простого приложения с новостной ленты до участия в разработке крипто-кошелька с использованием KMM.
1. IRLIX - Ведущий разработчик проекта:
Работал над проектом для одной авиакомпании в роли ведущего iOS разработчика. Проект писали с чистого листа, команда небольшая, 2 iOS'ка включая меня, дизайнер, бэкендер и PM.
В мои задачи входило общение с заказчикам, декомпозиция и оценка задач, закладка архитектуры и выбор стека технологий.
Проект был специфичным, с интересными и сложными задачами, можно выделить:
- Загрузка данных и хранения в локальной БД (использовали Realm) для дальнейшей передачи на медиа-сервер самолета .
- Работа приложении в фоновом режиме, даже если оно закрыто, нужно было для отображения локальных пушей (пуши посылали через сокеты).
- Сложная верстка схем посадочных мест разных видов самолетов. Для этой цели использовали UICollectionView вместе с composition layout.
Получил хороший опыт в плане общения с заказчиками, планирования и обсуждения задач
Стэк: Socket.IO, SwiftMessages, SnapKit, RxSwift
2. Shrott - клиент для металлургической кампании. Приложения предназначалась для клиентов компании, с личным кабинетом, c историей сдачи лома, с бонусами.
Из работы можно выделить:
- личный кабинет со всей историей и бонусами
- отображения на карте пункты приема метала, при выборе пункта с карты отображалась дополнительная информация.
- карточка в личном кабинете, который сканируется с приложения при сдачи лома.
Стэк: MVVM, YandexMapKit, XCoordinator/RxSwift, Firebase
3. Добро маркет - приложения для возможности покупать продукты онлайн с доставкой не выходя из дома.
Основной функционал:
- Авторизация по номеру телефона
- Сложный главный экран с горизонтальными/вертикальными коллекциями
- Возможность сканировать продукт и поиска в магазине
- Онлайн оплата товаров с помощью YooMoney SDK (с помощью карты и ApplePay)
- Профиль с личными данными пользователя для доставки продуктов
Стэк: YooMoney SDK, Swinject, SnapKit, Firebase/RemoteConfig, SwiftGen
4. Водительское Такси 05 - клиент для водителей сервиса Такси 05.
Сложный и интересный проект с использованием протокола SwiftProtobuf для обмена данными, с построением маршрута, с отображением загруженности дороги и с получением пушей.
Стэк: SwiftProtobuf, GoogleMaps, Firebase, MVVM+RxSwift
5. Apatris.io - участвовал в разработке крипто-кошелька. Подключился к проекту в процессе разработки. Работа ввелась в команде из двух iOS'ков, я отвечал за UI-верстку, старший разработчик отвечал за KMM. Так же упоминается в статье.
Стэк: Стэк: KMM, MVC, R.swift, Alamofire, Locksmith, Realm
6. Haraba - работал в команде Хараба с Июля по Декабрь 2021-го года. Занимался реализацией новых фичей и доработкой/исправлением старых.
Стэк: MVP, RxSwfit, Kingfisher, PanModal, Macaw