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.

Плюсы работы в нашей команде:

  • интересные задачи — ты будешь разрабатывать сложные приложения для огромной аудитории;
  • возможность разработать приложение с чистого листа;
  • отсутствие легаси-кода на проекте;
  • обмен опытом с профессионалами;
  • фокус на создании переиспользуемых архитектурных решений;
  • возможность применять новые технологии.