Software Engineer (C++) / Database Systems
MIND SoftwareГибридот 3 лет
C++ClickHouseElasticsearchhighloadAlgorithmsMultithreadingData StructuresDuckDBQuery EngineLuceneDatabase Systems
Описание
Обязанности
- Глубоко разбираться в кодовой базе: 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
Условия
- Формат работы: гибрид/удалённо