← Все вакансии/Senior/Yandex
SeniorHybridMoscow

Software Engineer

Y
Yandex
Уровень
Senior
Формат
Hybrid
О роли

Описание вакансии

О компании

Наша команда разрабатывает слой совместимости с PostgreSQL для YDB. Он позволяет существующим PostgreSQL-приложениям работать с YDB без изменений на стороне клиента и при этом использовать возможности распределённой СУБД: горизонтальное масштабирование, отказоустойчивость и строгую согласованность.

Обязанности
  • Проектирование архитектуры расширения и слоя совместимости: поддержка PostgreSQL-семантики поверх распределённого движка YDB через колбэки и хуки PostgreSQL (при необходимости — через патчи в сам PostgreSQL); определение зон строгой совместимости и зон допустимых расхождений.
  • Настройка производительности: профилирование горячих путей, оптимизация выполнения запросов, работа с планировщиком.
  • Реализация парсера и транзакционного механизма: поддержка PostgreSQL-диалекта SQL (DDL, DML, CTE, оконные функции, рекурсивные запросы), минимизация семантических расхождений.
  • Горизонтальное масштабирование PostgreSQL-шлюзов: реализация архитектуры из нескольких узлов слоя совместимости, согласованно работающих как один PostgreSQL-сервер.
  • Обеспечение совместимости с экосистемой: корректная работа драйверов (libpq, JDBC, asyncpg, pgx) без модификаций на стороне клиента, поддержка ORM, миграционных инструментов и BI-систем.
  • Техническое лидерство в команде: дизайн-ревью, менторство, задание инженерной планки.
Требования
  • Уверенное владение C++ и понимание устройства высоконагруженных и распределённых систем.
  • Готовность разбираться во внутренностях PostgreSQL, YDB и СУБД в целом, включая расширения, внутренние структуры, планировщик.
  • Умение доводить архитектурные решения от идеи до согласованного дизайна и работающего кода.
Условия
  • Будет плюсом, если вы разрабатывали расширения PostgreSQL или работали с его внутренними API (Hooks, FDW, Custom Scan, Background Workers), знаете внутренности PostgreSQL или родственные системы (Greenplum, Citus, CockroachDB, YugabyteDB).
Стек и навыки

С чем работаем