Мы ищем опытного IOS-разработчика для участия в развитии сложного и масштабного много-модульного проекта.
Паттерн: MVVM + Router + Assembly (модульная архитектура)
Каждый модуль содержит: View, ViewModel, Router, Assembly
ViewModel использует Input/Output паттерн с PassthroughSubject / AnyPublisher
Assembly — фабрика для сборки модуля (ручной DI, без Swinject)
Навигация: Router-паттерн на уровне модулей + AppCoordinator на уровне приложения
Слой данных: UseCase-паттерн (Clean Architecture) — UseCaseProvider предоставляет ~25 юзкейсов
Нетворкинг: Собственный слой поверх URLSession + Combine (AnyPublisher), REST API с типизированными Endpoint-ами
Оповещения между модулями: Notifier-паттерн (кастомный event bus)
Требования
Swift — уверенное владение (протоколы, дженерики, расширения, enums с ассоциированными значениями)
UIKit — глубокое знание: UIViewController, UITableView/UICollectionView, Auto Layout программно (без Storyboard), кастомные UI-компоненты
Combine — опыт работы с реактивными потоками: Publisher, Subject, sink, flatMap, combineLatest, обработка ошибок
Архитектура MVVM — понимание Input/Output паттерна, разделение ответственности, Router/Coordinator для навигации
Clean Architecture — UseCase-слой, разделение на слои (Presentation → Domain → Data)
REST API — опыт работы с сетевым слоем на основе URLSession, Codable, обработка ошибок, refresh token
Git — работа с ветками, merge requests, code review (GitLab)