Функциональное развитие приложения Dostaевский, Dostaевский курьер
Совершенствование кода и архитектуры приложения;
Исправление багов;
Написание unit-тестов;
Ведение технической документации.
Что мы хотим найти в кандидате:
Опыт коммерческой разработки под iOS от 2-х лет
UIKit и Swift - Глубокое знание UIKit, Auto Layout, работа с UIScrollView, UITableView, UICollectionView - Понимание жизненного цикла UIViewController, UIView, обработка событий - Работа с кастомными вью, анимациями, градиентами
RxSwift (ключевое требование) - Уверенное владение RxSwift: Observable, Driver, BehaviorRelay, PublishSubject - Понимание операторов: flatMap, map, filter, combineLatest, debounce, throttle - Работа с DisposeBag, управление подписками, предотвращение утечек - Опыт с RxCocoa для биндинга UI (rx.text, rx.tap, rx.action)
REST API - Работа с URLSession, Alamofire или кастомным слоем - Обработка ошибок, ретраи, таймауты - Кодирование/декодирование Codable - Работа с токенами, авторизация
Будет плюсом:
Архитектура MVVM - Понимание MVVM: View ViewModel Model - Разделение логики, тестируемость ViewModel - Опыт с ViewModelController
Dependency Injection - Работа с DI-контейнерами (ручная реализация) - Регистрация и разрешение зависимостей по тегам и типам - Понимание жизненных циклов: .singleton, .weakSingleton
RealmSwift - Работа с Realm базой данных - CRUD операции, миграции - Реактивные подписки на изменения