MIND Software

Software engineer

Коротко

Senior C++ инженер в core-команду высоконагруженной СУБД, объединяющей полнотекстовый поиск, векторный поиск и аналитику (аналитика и хранение — на DuckDB, поиск — на собственном движке IResearch). Работа со слоем хранения, исполнением запросов и поисковым движком, включая инвертированные индексы, BM25, векторные индексы, колоночное хранение и query planning. Требуется от 3 лет системного программирования на современном C++, сильные алгоритмы и структуры данных, опыт многопоточности и высоконагруженных систем, понимание работы ОС. Формат работы удалённый или гибридный.

Описание
Мы делаем высоконагруженную СУБД, в которой полнотекстовый поиск, векторный поиск и аналитика живут в одной системе. Аналитический движок и хранение построены на DuckDB, поиск — на IResearch, нашем собственном C++-движке, который core-команда пилит уже не первый год. Ищем сильного C++ инженера в core-команду: работать со слоем хранения, исполнением запросов на DuckDB и поисковым движком. Это не «прикрутить фичу сбоку» — это лезть в самое ядро.
Задачи
•Глубоко разбираться в кодовой базе: 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
Условия
•Гибкий подход к началу рабочего дня
•Возможность гибридного или удалённого формата работы
•Сильная инженерная команда, у которой есть чему поучиться
•Реальное влияние на архитектуру продукта, а не тикеты из бэклога
•ДМС со стоматологией
•Компенсация спорта
•Компенсация изучения иностранного языка
•Корпоративное обучение

Хватит откликаться.
Получите рекомендацию.

$10 стартовых кредитов

Всего 60 секунд, полностью на автопилоте — AI-агенты Eraldt читают ваше резюме, определяют подходящие роли, находят живые вакансии и людей, которые могут вас порекомендовать, пишут им личные письма и добиваются рекомендации.

Это не отклик на вакансию: резюме не уходит в компанию, а рекомендацию именно по этой роли мы не обещаем.

Посмотрите, кто ещё получает интервью на автопилоте