Старший iOS-разработчик в Яндекс Диск
Требования
Местоположение и тип занятости
Компания
Описание вакансии
О компании и команде
Яндекс Диск — часть виртуального рабочего пространства Яндекс 360. Мы создали многофункциональное и удобное приложение и не собираемся останавливаться. Чтобы реализовывать новые идеи быстро и качественно, мы без сомнений избавляемся от устаревших решений — не боимся рефакторинга, внедрения новых библиотек и тестирования новых подходов к разработке. Вам предстоит решать задачи, связанные с алгоритмами синхронизации данных, интеграцией с возможностями операционной системы и вёрсткой хитрых визуальных компонентов. Мы делаем ставку на мультиплатформенную разработку. В качестве основной технологии кросс-платформенной разработки мы выбрали Kotlin Multiplatform. На нём мы пишем только бизнес-логику, и это не накладывает никаких ограничений на использование платформенных SDK, UI и взаимодействие с операционной системой остаются платформенными. Вне общего кода мы используем актуальный стек и современные подходы iOS-разработки.
Наш стек:
- Swift – 80%, Objective-C – 20%, весь новый код пишем на Swift;
- UIKit, SwiftUI, GCD, URLSession, Swift Concurrency;
- юнит-тесты, UI-тесты на XCTest & Allure, ревью кода;
- модульность на CocoaPods.
Что нужно делать:
- проектировать архитектуру приложения, изучать новые технологии и подходы;
- развивать модульную систему;
- тесно взаимодействовать с бэкенд-разработчиками, особенно по вопросам сетевых API;
- искать компромиссы с продуктологами и дизайнерами, чтобы быстро проверять гипотезы с минимальным рабочим продуктом;
- участвовать в разработке и развитии дизайн-системы для всего мобильного Яндекс 360;
- автоматизировать процессы разработки и тестирования;
- анализировать и улучшать производительность приложения.
Ожидания от кандидата
- программировали под iOS больше пяти лет;
- отлично знаете Swift;
- хорошо знакомы с платформой iOS, знаете фреймворки Foundation, GCD, UIKit, CoreAnimation, URLSession;
- занимались многопоточным программированием;
- работали с клиент-серверными приложениями и понимаете, как устроен сетевой стек iOS;
- понимаете плюсы и минусы разных паттернов проектирования и архитектурных подходов — когда и что уместно применять;
- знаете классические алгоритмы и структуры данных.
Будет плюсом, если вы:
- знакомы с SwiftUI, Combine и другими современными фреймворками;
- знаете Objective-C хотя бы на уровне чтения кода;
- знакомы с Kotlin и концепциями Kotlin Multiplatform;
- имеете опыт настройки систем сборки и CI.
Условия работы
- сильная команда, с которой можно расти;
- сложные задачи для сервиса с миллионами пользователей;
- возможность влиять на процесс и результат;
- расширенная программа ДМС: стоматология, обследования, вызов врача на дом и многое другое;
- оплата 80% стоимости ДМС для супругов и детей;
- курсы, тренинги, возможность участия в конференциях.