Вакансия из первоисточника
Team Lead команды поисковых сценариев
VK
Москва
Описание вакансии
Мы создаём платформу персонализации для всех продуктов VK. На нашей инфраструктуре работают рекомендательные системы, поиск и реклама крупнейших продуктов компании, масштаб которых достигает 300 млн пользователей и почти миллиарда единиц контента. Немного о нашем масштабе: 1 млн vCPU вычислительных мощностей Сотни тысяч персональных подборок в секунду Более 300 инженеров из продуктовых команд используют нашу платформу, большинство из них — ML-инженеры Tier A, доступность более 99,99%. Мы умеем строить отказоустойчивые real-time системы и обеспечивать их работу под огромной нагрузкой Наша миссия — сделать платформу, на которой продуктовые команды могут быстро воплощать идеи, экспериментировать и растить метрики, не задумываясь о сложности инфраструктуры. При этом платформа должна эффективно работать даже в масштабах крупнейших интернет-продуктов. Наш технологический стек: Java (99% кодовой базы), C++ и Python для GPU-сервисов. Активно используем экосистему распределённых вычислений YTsaurus и разрабатываем собственные инфраструктурные решения. Задачи Мы ищем Team Lead в одну из команд платформы персонализации, которая отвечает за инфраструктуру поисковых сценариев. Один из главных инженерных вызовов в поиске — найти оптимальный баланс между потреблением RAM и CPU. Поисковые системы предъявляют особенно высокие требования к полноте данных, скорости их доставки и эффективности индексации. При этом важно обеспечивать предсказуемую производительность и эффективно использовать вычислительные ресурсы. В команде мы разрабатываем собственное реплицированное in-memory хранилище, технологии индексации контента и инфраструктуру для поисковых сценариев. Вам предстоит: Руководить командой инженеров: развивать сотрудников, участвовать в найме и отвечать за результаты команды Определять техническое развитие команды и принимать архитектурные решения Развивать технологии хранения и индексации данных, оптимизировать производительность и использование ресурсов Пример задачи, над которой работаем прямо сейчас: Реализовать персонализированное ранжирование поисковой выдачи, используя возможности платформы персонализации Почему у нас интересно: Масштаб, который редко встречается. Здесь даже небольшое архитектурное решение может влиять на миллионы пользователей и потребление тысяч CPU Сложные инженерные задачи. Мы не просто интегрируем готовые технологии, а создаём собственные решения для хранения, обработки и доставки данных в реальном времени Влияние на продукты. Результатами нашей работы пользуются более 300 инженеров продуктовых команд, а сама платформа лежит в основе ключевых продуктов VK Сильная инженерная экспертиза. Мы умеем строить системы с доступностью более четырёх девяток и постоянно работаем над тем, чтобы делать их быстрее, надёжнее и эффективнее Требования Опыт руководства инженерной командой, включая people management Уверенное знание Java или опыт разработки на другом современном языке с готовностью перейти на Java Хорошее понимание алгоритмов и структур данных Интерес к распределённым системам, большим данным и высоконагруженным сервисам. Опыт работы с ними будет преимуществом Любовь к технически сложным задачам, оптимизации кода и поиску эффективных решений Будет плюсом Опыт разработки поисковых или рекомендательных систем Знакомство с машинным обучением и инфраструктурой для ML