Habr Career · собрана 6 дней назад

Senior Software Engineer (C++) / Database Systems

MIND Software

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

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

Senior 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 Условия работы: — Гибкий подход к началу рабочего дня; — Возможность гибридного или удалённого формата работы; — Сильная инженерная команда, у которой есть чему поучиться; — Реальное влияние на архитектуру продукта, а не тикеты из бэклога; — ДМС со стоматологией; — Компенсация спорта; — Компенсация изучения иностранного языка; — Корпоративное обучение.