Технологии и стек (реально по проекту):
UI: UIKit (основная база), миграция на SwiftUI;
Архитектура и навигация: выраженный Coordinator pattern, экраны с ViewModel’ями (MVVM);
Layout: SnapKit;
Networking: Moya, отдельный API-слой под REST + JSON-RPC;
SDK / Интеграции: Firebase, Sentry, AppMetrica, Push-уведомления, DeepLink / UniversalLink, ATT;
Release / CI/CD: Fastlane (TestFlight, Firebase App Distribution), match и работа с code signing;
Прочее: feature flags, keychain/secure storage, reachability.
Что предстоит делать:
Участвовать в миграции UIKit → SwiftUI: создавать новые экраны и виджеты, писать обёртки для встраивания (UIHostingController и т.п.), постепенно заменять компоненты;
Проектировать экраны в архитектуре MVVM + Coordinator;
Работать с сетевым слоем и моделями данных (REST и JSON-RPC): аккуратная обработка ошибок, ретраи, реавторизация;
Работать с багами продакшена, поддерживать аналитику, мониторинг (краши), пуши и диплинки;
Участвовать в релизном цикле, улучшении архитектуры, рефакторингах и регулярном код-ревью.
Обязательные требования:
Сильный UIKit: навигация, сложные экраны, работа с таблицами и коллекциями, состояния, оптимизация, анимации;
Опыт работы с архитектурой MVVM и Coordinator-навигацией, умение поддерживать крупную кодовую базу;
Понимание принципов SOLID, DRY, KISS;
Опыт работы с сетевым слоем (REST, JSON-RPC, обработка ошибок, декодинг);
Умение писать тестируемый, читаемый код и проводить код-ревью;
Опыт работы с Git (feature branches, rebase/merge, pull requests) и CocoaPods (dependency management);
Понимание релизного процесса iOS: certificates / provisioning profiles, сборки, подписи;
Навыки профилирования (Instruments, поиск утечек памяти, решение проблем с performance).
Будет плюсом:
Опыт использования async/await;
Опыт с observability (Sentry / Crashlytics / аналитика), умение быстро локализовать проблемы;
Опыт написания Unit и UI тестов;
Опыт работы с Kotlin Multiplatform (KMM).
Москва
от 8000 USD