Анализ существующего кода проекта, выявление узких мест и областей, требующих изменений и улучшений;
Реализация на C++:
● слоя доступа к мета-данным;
● менеджера распределения данных;
● вспомогательных сервисов;
● управления инфраструктурой кластера;
● S3-API операций.
Написание unit-тестов на разработанные функции;
Участие в код-ревью и совместной отладке;
Документирование архитектурных решений и внутренних API.
Уверенное владение современным C++ (стандарт не ниже C++17);
Опыт многопоточного и асинхронного программирования;
Понимание протоколов TCP/IP, HTTP/HTTPS;
Опыт работы с сокетами или высокоуровневыми библиотеками (Boost.Asio, libcurl, POCO и т.п.);
Знание принципов построения отказоустойчивых и масштабируемых сервисов, понимание CAP-теоремы;
Опыт работы с репликацией данных;
Опыт работы с MongoDB или Key-Value СУБД, понимание транзакций и репликации;
Файловые системы и POSIX: знание особенностей работы с файлами в Linux, понимание семантики NFS (кэширование, блокировки, атомарное переименование);
Инструментарий: Gitlab, CMake, Docker (для локальной отладки), опыт написания unit-тестов.
Желательно (будет большим плюсом):
● Опыт работы с AWS SDK;
● Опыт интеграции с системами мониторинга (Prometheus, Grafana);
● Умение читать и анализировать существующий код, проводить рефакторинг;
● Опыт использования чего либо из: K8s, Nomad, Docker Compose, Podman.
Условия: