Разработчик в команду YQL

Мы разрабатываем YQL — SQL-подобный язык для обработки данных в Яндексе. Основной язык — C++, также используем Java и Python. Вы будете улучшать кодовую базу, ускоряя вычисления и повышая стабильность сервиса. Знать все наши технологии на старте необязательно — но интерес к их освоению очень важен.Разработка и поддержка
Вы будете улучшать парсинг и обработку запросов, оптимизировать виртуальную машину функционального языка, в том числе реализовывать JIT-компиляции через LLVM для ускорения выполнения кода. Также в задачи входит интеграция с Apache Arrow для повышения производительности runtime-вычислений на больших объёмах данных. Это работа над ядром системы, где каждая оптимизация напрямую влияет на скорость и стабильность сервиса. Ещё вы станете разрабатывать и поддерживать сложные алгоритмы, связанные с реляционной алгеброй и графами, чтобы запросы выполнялись эффективно даже при высокой нагрузке. Среди задач — настройка и улучшение бэкенда YQL, разработка клиентских библиотек и API. Нужно будет анализировать производительность, находить узкие места и предлагать, как их устранить. Это отличная возможность глубоко погрузиться в системное программирование и работу с инфраструктурой больших данных. Тестирование и отладка
Писать и поддерживать юнит- и интеграционные тесты для существующего и нового кода, покрывать тестами (pytest) ключевые функциональные блоки. Диагностировать и устранять баги, выявленные при тестировании и в продакшен-среде. Оптимизировать тестовую инфраструктуру, чтобы ускорять процесс тестирования и улучшать качество продукта. Больше о бэкенде в Яндексе — в канале Yandex for Backend* Уверенно владеете C++ и готовы разрабатывать на нём высокопроизводительные системы (например, ядро YQL) с использованием LLVM * Понимаете основы системного программирования и интересуетесь оптимизацией кода для повышения скорости запросов и вычислений * Имеете базовое представление о формальных грамматиках, реляционной алгебре или алгоритмах для графов либо готовы освоить эти области * Не боитесь сложных задач и стремитесь глубоко разобраться в технологиях, таких как Apache Arrow * Можете работать с разными частями стека: от бэкенда на C++ до API на Java и тестов на Python, адаптируясь к проекту * Готовы анализировать производительность, находить узкие места и предлагать, как их устранить * Интересуетесь большими данными и инфраструктурными сервисами, даже если пока не имеете опыта в этой сфере * Инициативны, способны самостоятельно находить подходы к решению нетривиальных задач * Готовы вносить вклад в наши опенсорс-платформы YDB и YTsaurus и поддерживать стабильность критически важного сервиса * Умеете работать с обратной связью, быстро отвечать на вопросы и участвовать в дежурствах по поддержке * Не знаете всё сразу — но стремитесь расти и углублять опыт в компиляторах, оптимизациях и обработке данных

Similar jobs