iOS разработчик в рекомендательные системы
Требования
Местоположение и тип занятости
Компания
Место встречи лучших
Описание вакансии
Условия работы
Пульс — довольно молодой и стремительно развивающийся продукт с амбициозными планами. Наша лента персональных рекомендаций расположена на главной странице Mail.ru, на сайтах и в приложениях внешних партнеров, где ее ежедневно читают несколько миллионов человек.
Сейчас мы ищем IOS-разработчика для проектирования и разработки новых мобильных приложений Новости и Пульс, а также для развития sdk-ленты рекомендаций для интеграции в приложения партнеров.
Задачи:
- проектирование архитектуры, разработка и дальнейшее развитие мобильных приложений Новости Mail.ru и Пульс Mail.ru;
- развитие таба с рекомендациями в супераппе Почты Mail.ru;
- развитие sdk-ленты рекомендаций.
Ты нам подходишь, если:
- хорошо знаешь Swift, value/reference type/semantics, протоколы, дженерики, основные принципы и инструменты многопоточного программирования (GCD, Operation Queue);
- умеешь работать со сложными списками (UICollectionView, кастомные лейауты, анимированное удаление/добавление элементов, постраничная загрузка);
- умеешь писать производительный код, особенно применительно к работе с UI;
- хочешь и умеешь писать bulletproof-код с обработкой предельных случаев (приложение не будет падать при внезапно измененном ответе АПИ сервера, пользовательские сценарии не будут блокироваться, потому что не учли что-то выходящее за рамки happy path);
- знаешь основные подходы к работе со сторонними библиотеками (Cocoapods, Carthage, SPM);
- понимаешь, как устроены системы дистрибуции приложений под iOS (сертификаты и профили);
- любишь порядок и не терпишь хаоса в коде (не пишешь лишних инструкций, дебажных принтов в релизном коде, даешь функциям и объектам понятные имена и так далее);
- проектировал и разрабатывал большую фичу или целое приложение с чистого листа;
- понимаешь разницу между библиотекой и SDK.
Плюсы работы в нашей команде:
- интересные задачи — ты будешь разрабатывать сложные приложения для огромной аудитории;
- возможность разработать приложение с чистого листа;
- отсутствие легаси-кода на проекте;
- обмен опытом с профессионалами;
- фокус на создании переиспользуемых архитектурных решений;
- возможность применять новые технологии.