VK Видео — крупнейший российский видеосервис: ежедневно им пользуются десятки миллионов людей.
Цель нашей команды — развивать VK Видео и внедрять новые технологии. Сейчас мы активно развиваем поиск — один из главных источников просмотров видео. Пользователи активно взаимодействуют с поиском, когда мы ещё знаем об их вкусах слишком мало, чтобы предоставить персональные рекомендации.
Ищем специалиста, готового к масштабным задачам и к активному участию в жизни продукта.
Наш стек:
- язык программирования Swift, в приложении для смартфона местами встречается Objective-C;
- архитектура — MVVM, Worker (например, для походов в сеть и пагинации), Router;
- DI — зависимости передаём явно через инициализаторы;
- работа с потоками данных — Combine;
- вёрстка интерфейса — UIKit (SnapKit);
- отображение списков: используем самописный Backend-Driven UI с детализацией до компонента отображения видео, клипа и так далее;
- хранение данных — БД нет, всё хранится на сервере (используются UserDefaults и KeyChain для хранения пользовательских настроек и ключевой информации);
- сеть — самописное решение поверх URLSession (Objective-C с обёрткой на Swift);
- работа с видео и аудио — своё решение с использованием AVFoundation (Objective-C).
Вам предстоит:
- развивать поиск в VK Видео — реализовывать новые фичи и UX-эксперименты на экранах поиска;
- разрабатывать и поддерживать приложение ВКонтакте и VK Видео для iOS (включая iPad) и tvOS;
- участвовать во всех этапах разработки — от проектирования до запуска;
- тесно сотрудничать с продакт-менеджерами для воплощения продуктовых идей в жизнь;
- проектировать масштабируемую архитектуру на базе MVVM, переиспользуемую во всех поисках внутри VK Видео и ВКонтакте;
- развивать культуру качественного кода, активно участвуя в код-ревью.
Примеры задач:
- разработать обновлённый UI/UX выдачи поиска для tvOS;
- внедрить поисковые фильтры (например, для показа только HD-контента или скрытия клипов из выдачи) для tvOS;
- запустить поиск по авторам или каналам в VK Видео;
- разработать новые компоненты для Server Driven UI (например, чтобы на tvOS можно было найти фильмы и плейлисты);
- улучшать внутренний фреймворк для Backend Driven UI на мобильных и ТВ-платформах, позволяющий отображать персонализированную выдачу поиска в блочном формате со множеством типов контента;
- построить архитектуру поиска, унифицированную для использования в других вертикалях;
- расширить покрытие сбора аналитических событий;
- оптимизировать отображение поисковой выдачи.
У нас интересно, потому что:
- результат вашей работы оценят миллионы людей — в том числе ваши коллеги, друзья и близкие;
- вы будете работать в команде с опытными инженерами и использовать лучшие практики разработки — CI/CD, UI-тестирование, еженедельные релизы, гибкую разработку по Scrum;
- мы активно переходим на современный стек с использованием Swift, MVVM-архитектуры, iOS 15+, многомодульности, навигации на Coordinator, классических подходов к DI и модульности, многопоточности на Swift Concurrency.
Мы ожидаем, что вы:
- хорошо знаете Swift и платформу iOS;
- разбираетесь в Objective-C или готовы его изучить, хотя мы постепенно от него избавляемся в процессе миграции на новый стек;
- знаете классические алгоритмы и структуры данных;
- инициативны, самостоятельны, любите делиться опытом и учиться у коллег.
Приглашаем специалиста, который сможет посещать офис в Санкт-Петербурге, работать в комбинированном режиме или удалённо. Ждём ваших откликов. Удачи!