Habr Career · собрана 52 дня назад

Software Engineer (C++) / Database Systems

MIND Software

ГибридРоссияSenior
SQLPostgreSQLLinuxAnalytics

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

Software Engineer (C++) / Database Systems Employment type: Полный рабочий день Grade: Senior Skills: PostgreSQL, Базы данных, C++, Yandex Database, Проектирование баз данных, ClickHouse Description: Мы делаем высоконагруженную СУБД, в которой полнотекстовый поиск, векторный поиск и аналитика живут в одной системе. Аналитический движок и хранение построены на 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 Условия работы: Гибкий подход к началу рабочего дня; Возможность гибридного или удалённого формата работы; Сильная инженерная команда, у которой есть чему поучиться; Реальное влияние на архитектуру продукта, а не тикеты из бэклога; ДМС со стоматологией; Компенсация спорта; Компенсация изучения иностранного языка; Корпоративное обучение.