Обязанности:
- Проектирование и разработка 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-сгенерированного кода
Мы предлагаем:
- Гибридный график
- Сильную команду и сложные технические задачи
P.S. Зарплата обсуждается по итогам собеседования
