Swift · SwiftUI · UIKit · Москва
В IT с 2008 года, в iOS-разработке — с 2021. Разрабатываю коммерческие приложения и собственные продукты: от архитектуры и интерфейса до публикации и дальнейшего развития.
Работаю в ГК «Неофарм» над приложением «Столички» в команде из трёх iOS-разработчиков. Помимо продуктовых задач, занимаюсь техническим развитием приложения: прорабатываю архитектурные решения, провожу код-ревью, развиваю инженерные практики и автоматизацию разработки.
Участвую в планировании работы команды, распределении задач и обсуждении технических решений. Подготавливаю архитектурные шаблоны и документацию, которые помогают поддерживать единый подход к разработке новых модулей.
Параллельно развиваю личный проект «Аптечка в кармане» — приложение для хранения списков лекарств, контроля сроков годности и совместного использования семейных аптечек.
-
Код-ревью и качество кода. Провожу код-ревью, обсуждаю с коллегами технические решения и поддерживаю общие подходы к организации кода.
-
Архитектура приложения. Разработал собственный подход к организации модулей с однонаправленным потоком данных и явным управлением состоянием. Подготовил архитектурные шаблоны и документацию для разработки новых экранов.
-
Планирование и техническое развитие. Участвую в распределении задач и приоритизации спринтов. Инициирую технические улучшения и довожу их до внедрения в проект.
-
Миграция на Swift 6. Перевёл коммерческий проект на Swift 6. Работаю с асинхронным кодом на основе Swift Concurrency.
-
Оптимизация сетевого взаимодействия. Внедрил HTTP-кэширование для сокращения повторных запросов и ускорения загрузки данных. Реализовал адаптивный debounce для поиска.
-
Автоматизация разработки. Настроил GitLab CI на macOS-раннере: автоматическую сборку приложения, запуск тестов, сохранение логов и результатов тестирования.
-
Локальное хранение данных. Выполнил миграцию с Realm на Core Data. Разрабатываю сервисы для работы с локальными данными, Keychain и UserDefaults.
Личный проект · App Store
Приложение для организации домашних аптечек: списки лекарств, контроль сроков годности и совместный доступ к семейным аптечкам.
Самостоятельно занимаюсь архитектурой, разработкой интерфейса и функциональности, хранением данных, публикацией и выпуском обновлений.
Для совместных аптечек использую Firebase Authentication и Cloud Firestore, для управления доступностью функций — Firebase Remote Config.
Коммерческий проект · App Store
Приложение российской сети аптек.
Участвую в разработке продуктовых функций и развитии технической основы приложения: проектировании архитектуры, оптимизации сетевого взаимодействия и работы с данными, обновлении стека и автоматизации сборки и тестирования.
Образовательное приложение по выживанию в экстремальных условиях. Один из первых крупных командных проектов.
Коммерческий проект · В разработке
Приложение аптечной сети с реализацией на основе WebView.
| Направление | Технологии |
|---|---|
| Язык и интерфейс | Swift, SwiftUI, UIKit |
| Многопоточность | Swift Concurrency, GCD |
| Сеть | URLSession, HTTP-кэширование |
| Локальные данные | Core Data, Keychain, UserDefaults |
| Firebase | Authentication, Cloud Firestore, Remote Config |
| Архитектура | Модульный подход, однонаправленный поток данных, MVVM, VIPER |
| Тестирование | XCTest, Swift Testing, unit-тесты, UI-тесты, snapshot-тесты |
| Инструменты разработки | Xcode, Git, GitLab CI |
Предпочитаю понятную архитектуру с явными зависимостями и чётким разделением ответственности. Выбираю решения под задачи продукта и команды, а не ради использования определённого паттерна или библиотеки.
Считаю частью разработки не только реализацию функции, но и её дальнейшее сопровождение: тестирование, диагностику ошибок и документацию.
Школа мобильной разработки Яндекса — 2023
Обучение iOS-разработке и работа над фичей для Yango.
Тинькофф Финтех — 2022
Обучение iOS-разработке.
SwiftBook — 2021–2022
Обучение iOS-разработке.
РосНОУ — 2008–2011
Обучение на факультете информационных систем и компьютерных технологий, кафедра информационной безопасности.
Для обсуждения проектов и технических вопросов: Telegram — @zyfun.


