Назад к вакансиям

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

Условия

  • Формат работы: гибрид/удалённо