Команда Software-Defined Storage разрабатывает собственное распределенное хранилище данных. Наш софт работает в публичном облаке и предоставляет: блочный интерфейс для дисков виртуальных машин пользователя; объектный AWS S3 совместимый интерфейс; файловый интерфейс для суперкомпьютера Christofari. Это высоконагруженное решение, которое обработывает миллионы запросов в секунду от пользователей, имеет микросекундные задержки и хранит петабайты данных. Мы одна из немногих команд в РФ, которая ставит амбициозные цели по разработке собственного хранилища и достигает их. Обязанности: Разработка высоконагруженного блочного и файлового хранилища, которое будет хранить петабайты данных; Решение задач отказоустойчивости, консистентности и производительности; Оптимизировать путь IO снижая latency запросов до сотен микросекунд и выжимая еще больше IOPS на кластере; Разрабатывать специализированные структуры данных и алгоритмы; Участвовать в проектировании новых фич и систем; Реализация API для интеграции с платформой и другими сервисами компании; Написание юнит и простых интеграционных тестов для нового кода/ Стек:Golang, GRPC, Protobuf, Dragonboat RAFT, Pebble (KV store) Требования: Практический опыт разработки на Go или опыт написания системного кода на C/C++ и желание писать на Go. Базовые представления о системной разработке, принципах работы ОС и сети. Понимание принципов построения распределенных систем: шардирование, репликация, и тп. Уверенный пользователь Linux (работа с файлами, ssh, systemctl, fio) Будет плюсом: Понимание того, как работает runtime Golang. Опыт системной разработки на Golang. Опыт работы с embedded-базами данных (rocksdb, pebble). Опыт работы с RAFT или другими алгоритмами консенсуса. Знание архитектуры и принципов работы аппаратных средств