на главную
zarplata•2 ч. назадСвежая вакансияОпубликована сегодня на Зарплата.ру. Свежая — до 5 дней, умеренная — 6–14 дней, долгая — от 15 дней. Дата берётся с сайта-источника.

C++ инженер в core-команду (СУБД)

УдалённоГибкий графикУдалённая работаДМСКомпенсация спорта

Навыки и технологии

ClickHouseTypeScriptElasticsearch

Ключевая задача

Разработка ядра высоконагруженной СУБД: слой хранения, исполнение запросов на DuckDB и собственный поисковый движок на C++.

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

О компании

Мы делаем высоконагруженную СУБД, в которой полнотекстовый поиск, векторный поиск и аналитика живут в одной системе. Аналитический движок и хранение построены на DuckDB, поиск — на IResearch, нашем собственном C++-движке, который core-команда пилит уже не первый год.

Обязанности

  • Глубоко разбираться в кодовой базе: storage, query engine, поисковый слой. Reverse engineering архитектуры, поиск узких мест, документирование ключевых компонентов
  • Развивать слой на DuckDB: планирование и исполнение запросов, хранение, catalog/store, апстрим-бампы и расширения
  • Развивать свой поисковый движок: инвертированный индекс и columnstore, скоринг (BM25, WAND/MaxScore), векторные индексы (IVF, квантизация), токенизаторы, компрессия постинг-листов
  • Развивать протоколы и коннекторы: foreign servers, форматы и источники (Parquet, Iceberg, CSV, JSON на S3/HDFS), совместимость с ClickHouse/Elasticsearch
  • Профилировать CPU/память/диск, оптимизировать критические участки, гонять бенчмарки (ClickBench, ann-benchmarks, FTS)
  • Писать модульные, интеграционные и нагрузочные тесты, участвовать в SQL-фаззинге и код-ревью

Требования

Кого мы ищем

  • Уверенно владеете современным C++
  • От 3 лет системного программирования
  • Сильные алгоритмы, структуры данных, многопоточность и concurrency
  • Есть опыт с высоконагруженными системами
  • Умеете разбираться в сложном чужом коде
  • Понимаете, как работает ОС: память, диск, сеть

Будет плюсом

  • DuckDB, ClickHouse, Elasticsearch/Lucene
  • Разработка баз данных, поисковых систем или query engines
  • Полнотекстовый поиск / IR (инвертированный индекс, BM25)
  • Векторный поиск / ANN (IVF, HNSW, квантизация)
  • Колоночное хранение, векторизованное исполнение, query planning

Условия

  • Гибкий подход к началу рабочего дня;
  • Возможность гибридного или удалённого формата работы;
  • Сильная инженерная команда, у которой есть чему поучиться;
  • Реальное влияние на архитектуру продукта, а не тикеты из бэклога;
  • ДМС со стоматологией;
  • Компенсация спорта;
  • Компенсация изучения иностранного языка;
  • Корпоративное обучение.