<aside>
<img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/1230daa6-7b14-4b10-a520-4f6160af6820/b1b8220d-74ea-4aea-8d10-a11f0ce53044/Disk.png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/1230daa6-7b14-4b10-a520-4f6160af6820/b1b8220d-74ea-4aea-8d10-a11f0ce53044/Disk.png" width="40px" /> Яндекс Диск — cозданное нами многофункциональное и удобное приложение для хранения и обмена файлами.
Чтобы реализовывать новые идеи быстро и качественно, мы избавляемся от устаревших решений — не боимся рефакторинга, внедрения современных технологий и тестирования новых подходов к разработке.
А еще нас любят пользователи – оценка 4.8 в App Store.
</aside>
Про наши задачи
- Предстоит решать задачи, связанные с алгоритмами синхронизации данных, интеграцией с возможностями операционной системы и вёрсткой хитрых визуальных компонентов, обработкой фото и видео.
- Мы делаем ставку на мультиплатформенную разработку — в качестве основной технологии выбрали Kotlin Multiplatform. На нём мы пишем только бизнес-логику, и это не накладывает никаких ограничений на использование платформенных SDK, UI и взаимодействие с операционной системой остаются платформенными.
- Вне общего кода мы используем актуальный стек и современные подходы к iOS-разработке.
🛠 Стек
iOS
- iOS 15+
- Swift — 85% (весь новый код), Objective-C — 15%
- KMP для BL
- UIKit, SwiftUI, GCD, URLSession, Swift Concurrency
- юнит-тесты, UI-тесты на XCTest & Allure, снапшот-тесты, ревью кода
- модульность на CocoaPods
- Fastlane – автоматизируем CI/CD
- Trunk Based Development + Feature flags
Android
- kotlin
- clean architecture, viewmodel, dagger
- coroutines, threadpoolexecutors
- kotlin multiplatform, redux
👨🏻💻 Команда и процессы
- Кто мы: сейчас небольшая команда из 5 сильных разработчиков, работаем над Диском уже 4-6 лет, расскажем тебе про все костыли.
- Разработчики выполняют роль DevPM, ведя проекты от принятия ТЗ от менеджера до поэтапной раскатки в прод. Команда участвует в проработке фич непосредственно влияя на конечный результат.
- Благодаря тесной связи внутри продукта разработчик имеет возможность реализовывать продуктовые фичи не только для своей платформы, но и для iOS через KMM. Сервисы Яндекс 360 живут в одной экосистеме, поэтому всегда можно сделать что-то полезное не только у себя в Диске, но еще в Почте/Телемосте/Мессенджере.
- Команда распределенная, большая часть работает в Москве, но есть возможность пополнить разработку в Белграде и Минске. Группа мобильного тестирования сидит в Санкт-Петербурге, есть возможность регулярных командировок.
- У нашей команды есть собственный улей на пасеке и бар в офисе.
Основные принципы работы
📹 Мы хотим писать код один раз, поэтому активно развиваем у себя KMM.
🚀 Мы хотим быстро писать код, поэтому занимаемся архитектурой.
🚲 Мы хотим сразу видеть изменения, поэтому работаем над скоростью сборки проекта (многомодульность, dagger-lite aka yatagan).
⚙️ Мы хотим пушить код в прод каждую неделю, поэтому развиваем автоматизированное тестирование.
🕵️ Кого ищем