Старший разработчик финансовой платформы на С++
Яндекс Доставка — молодой, но быстро растущий сервис Яндекса. Всего за полтора года мы построили с нуля одну из крупнейших логистических компаний в стране и стали одним из лидеров на рынке срочной доставки в городах России и СНГ. Наша цель — стать сервисом доставки по умолчанию для любых задач. Мы хотим охватить новые сегменты рынка.
Доставке критически важно умение быстро выходить на новые рынки и монетизировать новые услуги. Одним из инструментов для достижения этой цели является финансовая платформа.
Сервисы финансовой платформы должны:
- разрабатываться с учетом высоких требований на нагрузку (до нескольких тысяч РПС);
- легко масштабироваться и диагностироваться;
- предоставлять инструментарий смежным командам для добавления своих плагинов бизнес-сценариев.
В целевой картине мы планируем замкнуть в платформе все финансовые сценарии Доставки.
Бизнес Доставки был основан и продолжает развиваться усилиями инженеров, которые создали Такси, Драйв, Маршрутизацию и другие успешные бизнесы компании Яндекс. Накопленный опыт позволяет нам ставить перед собой амбициозные цели. Работая у нас, вы сможете напрямую влиять на качество логистических продуктов, которыми пользуетесь вы и ваши друзья: от Маркета до Еды и курьерских услуг в Go.
Работа в команде финансовой платформы, помимо прочего, позволит познакомиться с бизнес-процессами Доставки и поучаствовать в запусках новых фич, особенно тех, которые требуют монетизации, и особенно в контексте выхода на новые рынки.
Технологии:
- С++ 20, для тестов – Python 3.0;
- фреймворк userver, для тестов — фреймворк testsuit;
- БД — PostreSQL, YDB и YT.
Чем предстоит заниматься:
- проектировать, защищать и писать компоненты финансовой платформы Доставки, заранее думать о масштабируемости и отказоустойчивости на фоне постоянно растущего числа транзакций;
- поддерживать постоянный поток новых финансовых услуг, которые команда бизнеса выводит на внутренний и внешний рынок;
- поддерживать совместную финансовую логику с Такси, Едой, Маркетом и другими командами;
- развивать мониторинги и инструменты диагностики для того, чтобы отслеживать здоровье системы в realtime.
Мы ждём, что вы:
- знаете C++, потому что наш сервис написан на нём;
- понимаете принципы построения многопоточных приложений и распределённых систем;
- имеете опыт работы с реляционными базами данных — мы используем PostgreSQL;
- знакомы с Linux, потому что наш продакшен работает на нём.
Будет плюсом, если вы:
- разрабатывали сервисы в распределённых системах;
- разрабатывали или эксплуатировали реляционные СУБД (например PostgreSQL);
- знакомы с Ubuntu Linux, grep/sed/awk;
- работали с большими данными в парадигме MapReduce;
- имеете опыт эксплуатации продакшен-систем с высокими требованиями к доступности и времени отклика, а также оперативного решения возникающих в них проблем;
- умеете профилировать и оптимизировать компоненты больших систем.