Москва, Ленинградский проспект, 36с41
Мы делаем высоконагруженную СУБД, в которой полнотекстовый поиск, векторный поиск и аналитика живут в одной системе. Аналитический движок и хранение построены на DuckDB, поиск — на IResearch, нашем собственном C++-движке, который core-команда пилит уже не первый год.
Ищем сильного C++ инженера в core-команду: работать со слоем хранения, исполнением запросов на DuckDB и поисковым движком. Это не «прикрутить фичу сбоку» — это лезть в самое ядро.
Стек: modern C++, Linux, DuckDB, полнотекстовый и векторный поиск, векторизованное исполнение, колоночное хранение, инвертированные индексы, многопоточность и concurrency, performance optimization, low-level profiling.
Чем предстоит заниматься
— Глубоко разбираться в кодовой базе: 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
Условия работы: