Senior iOS разработчик
Обязанности:
Проектирование и разработка iOS-приложений с нуля и развитие существующих продуктов
Выбор и внедрение архитектурных решений (MVVM, VIPER, MVI и др.)
Разработка масштабируемых и модульных решений
Написание Unit и UI тестов, участие в TDD/BDD процессах
Оптимизация производительности приложений
Проведение code review
Менторство middle/junior разработчиков
Участие в развитии инженерной культуры и процессов
Настройка CI/CD и участие в релизном процессе
Требования:
Глубокие знания ООП (SOLID, инкапсуляция, полиморфизм) и функционального программирования (map, reduce, immutability)
Уверенное понимание структур данных и алгоритмов
Опыт работы с архитектурами: MVVM, MVC, MVP, VIPER, MVI
Опыт написания Unit/UI тестов (XCTest, XCUI, Snapshot testing)
Опыт работы с локальными хранилищами: UserDefaults, CoreData, Realm, Keychain
Знание принципов безопасности (шифрование, Secure Enclave)
Уверенная работа с UIKit и SwiftUI (AutoLayout, кастомные компоненты, анимации)
Опыт работы с DI (Swinject, Resolver или аналоги)
Глубокое понимание сетевого взаимодействия: REST, HTTP/HTTPS, URLSession, Alamofire, async/await
Продвинутый уровень Git (rebase, cherry-pick, resolving conflicts)
Опыт работы с Combine / реактивным программированием
Понимание SOA и построения слабосвязанных систем
Опыт настройки CI/CD (GitHub Actions, Bitrise, Jenkins, Fastlane)
Опыт интеграции аналитики (Firebase, Amplitude, Sentry)
Навыки профилирования (Instruments, оптимизация производительности)
Опыт разработки SDK и модульных решений
Опыт работы с мульти-модульной архитектурой (SPM, CocoaPods)
Опыт публикации приложений в App Store
Будет плюсом:
Опыт использования AI-инструментов (ChatGPT, Copilot) в разработке
Навыки генерации тестов и документации с помощью AI
Критическая оценка AI-сгенерированного кода
Мы предлагаем:
Гибридный график
Сильную команду и сложные технические задачи