Разработчик на С++ в группу пешеходной и транспортной навигации
Наша команда разрабатывает сервисы, которые позволяют миллионам пользователей быстро и комфортно перемещаться по городу без собственного автомобиля. Мы непрерывно улучшаем построение экомаршрутов (пешком, на самокате, велосипеде и общественном транспорте), отображение на карте живых меток общественного транспорта и прогноз их прибытия на остановки, а также оптимизируем навигацию для других сервисов Яндекса: Еды и Лавки.
Для этого мы создаём комплексное решение, которое включает в себя высоконагруженные бэкенд-сервисы, регулярные процессы обработки больших данных, а также клиентскую часть приложения. Мы постоянно следим за качеством и надёжностью решения, поэтому изучаем много разных метрик. В целом наши задачи часто связаны с анализом данных, поэтому знания и желание работать в этой сфере приветствуются. В свою очередь, мы готовы предложить вам интересные задачи, поможем обсуждать подходы к их решению, а также поддержим вас в работе с инфраструктурой и внутренними сервисами.
Задачи и обязанности
Разработка Yandex MapKit
Yandex MapKit — библиотека для Android и iOS, которая позволяет использовать картографические сервисы Яндекса: строить маршруты, искать места и т. д. в мобильных приложениях. MapKit применяется в Навигаторе, Картах, Яндекс Go, Погоде и множестве внешних приложений.
Наша команда развивает в MapKit навигацию для пользователей без собственного автомобиля (пешеходов, велосипедистов и пассажиров городского транспорта). Наша цель — сделать её максимально удобной и понятной.
Улучшение алгоритмов построения маршрута
Наш бэкенд строит тысячи маршрутов в секунду, помогая наиболее быстро и комфортно добираться из точки А в точку Б. Мы непрерывно улучшаем качество этих маршрутов и добавляем новые типы, например сложные комбинированные маршруты.
Для этого требуется не только разрабатывать новые функции, но и сопровождать их эффективное внедрение в продакшен, проводить эксперименты и замерять с помощью А/B-тестов удовлетворённость пользователей. Отдельная и важная задача — постоянно контролировать работоспособность всех сервисов и поддерживать высокие стандарты надёжности.
Требования
- Уверенно владеете С++, хорошо знакомы со стандартной библиотекой, умеете писать многопоточный и асинхронный код
- Хорошо знаете классические алгоритмы и структуры данных
- Хотите работать над сложным большим проектом, проактивны и готовы осваивать новые технологии