Старший разработчик в Навигатор и Яндекс.Авто

МоскваC++, iOS, AndroidНавигатор, Яндекс.АвтоСтарший специалист
Вакансия закрыта
Навигатор как отдельное приложение разрабатывается для нескольких платформ: iOS, Android, Embedded Linux, а еще у разработчиков он запускается под Desktop Linux и Darwin (Mac OS). Наша организационная структура не предполагает наличия отдельных команд для каждой из целевых платформ. Это возможно благодаря кроссплатформенному подходу к написанию кода, при котором получается истинно одинаковое с точки зрения бизнес-логики поведение приложения на всех платформах, но в то же время выглядит оно стандартным для платформы образом. В реализации мы используем классический шаблон Model-View-Presenter, где Model и Presenter целиком реализованы на C++, а View (разметка, анимации) — на платформенных языках (Java, Kotlin, Swift).
Навигатор доступен пользователям не только в мобильном телефоне, но и в головном устройстве автомобиля — в составе Яндекс.Авто. Прямо сейчас это отдельное приложение, взаимодействующее с оболочкой-лончером через IPC. В будущем предполагается более плотная интеграция со своими сквозными сценариями.

Вам предстоит:

  • проектировать архитектуру отдельных компонентов и приложения целиком;
  • участвовать в ревью кода и архитектуры;
  • разрабатывать новые пользовательские сценарии в продукте.

Требования:

  • опыт разработки для нескольких платформ;
  • опыт программирования на C++;
  • опыт разработки на одном из языков: Java, Kotlin, Objective-C или Swift;
  • знание классических алгоритмов и структур данных;
  • умение профилировать, оптимизировать и обеспечивать стабильность приложений;
  • уверенное понимание многопоточного программирования;
  • опыт разработки мобильных приложений больше двух лет;
  • опыт руководства командой разработчиков (будет плюсом).