
яндекс · 2 дня назад
↑ Вакансия с автоподнятиемЯндекс Директ — рекламная платформа для бизнеса любого масштаба. Вместе с другими сервисами (Единой базой данных рекламы, Яндекс Метрикой, Рекламным движком, Статистикой) мы развиваем рекламные технологии.
Директ предоставляет сервисы как для больших рекламных агентств — со всеми возможными рекламными настройками, так и для представителей малого бизнеса, у которых ведение рекламной кампании происходит в автоматическом режиме.
Мы поставляем нашим клиентам более 20 видов рекламных продуктов: реклама в Поиске, в Рекламной сети Яндекса, медийная реклама, аутдор и т. д. У каждого из этих продуктов свои особенности настроек и правила работы.
Это проект с огромной кодовой базой и сложной предметной областью. У нас большие объёмы данных: миллиарды объектов — кампаний, групп, баннеров и их запчастей. 26 отдельных шардов баз данных — в среднем по 1 ТБ — на трёх репликах в разных дата-центрах. Поток изменения — 1 Мбит/с бинарных данных.
Наш стек:
* Пишем на Kotlin или Java, используем Spring
* Для API используем GraphQL, gRPC, REST API
* Базы данных: MySQL, GrUT, YTsaurus, ClickHouse
* Для реализации RT-процессингов в GrUT пишем также на C++
У нас распределённая команда, сотрудники находятся в разных городах: Москве, Санкт-Петербурге, Нижнем Новгороде, Екатеринбурге, Белграде. Несколько раз в год мы собираемся в одном городе всей командой на тимбилдинг или приезжаем друг к другу, чтобы совместно проработать сложную задачу и поштурмить решения.
Архитектурные вызовы
Вам предстоит участвовать в проектировании сложных архитектурных решений, создавать платформу для быстрой и гибкой продуктовой разработки.
Разработка ядра сервиса
Вместе с командой вы будете проектировать концептуальные части архитектуры и заниматься рефакторингом кода.
Переезд на GrUT
Нам нужно переехать с текущей базы данных и асинхронной обработки данных на единую базу данных рекламы GrUT. Подробнее об этом можно узнать из доклада «Архитектура хранилища рекламных объектов Яндекс Директа».
* Пишете рабочий, поддерживаемый и тестируемый код
* Много работали и хорошо знакомы хотя бы с одной базой данных
* Умеете разбираться в чужом коде и работать в команде
* Хорошо знаете Java или Kotlin
* Знакомы с технологиями GraphQL, Protobuf
* Проектировали, разрабатывали и сопровождали высоконагруженные распределённые сервисы, клиентские веб-приложения и публичные API