Старший разработчик в One-cloud, Москва
Мы — одна из немногих команд в стране, которая разрабатывает ядро распределённой базы данных, а не просто эксплуатирует её. У нас собственный форк Apache Cassandra, поверх которого реализовано то, чего нет в ванильной версии: транзакции, глобальные индексы, генератор последовательностей.
С чем предстоит иметь дело:
- Распределённые системы на практике: репликация, кворумы, консистентность — в продакшене из кластеров на сотни узлов в нескольких дата-центрах, обслуживающем сервисы с многомиллионной аудиторией
- Живая миграция между мажорными версиями базы без downtime продуктов
- Производительность на уровне движка хранения: стратегии компакшена, тюнинг GC, работа с off-heap, профилирование под продакшен-нагрузкой
- Отказоустойчивость: сценарии потери целого дата-центра, расчётные модели доступности, разбор реальных инцидентов до первопричины
- Работа с апстримом: наш форк регулярно синхронизируется с ванильной Apache Cassandra — вы будете читать и понимать код одной из самых известных open-source баз на уровне контрибьютора
- Баги, которые не воспроизвести на ноутбуке: часть проблем существует только на больших данных и больших кластерах. Реальный пример из нашей практики — переполнение int32 при компакции SSTable, у которых файл метаданных сжатия перерос 2 ГБ: код работал годами, пока данные не доросли до граничного значения
Задачи
- Разработка и поддержка собственного форка Apache Cassandra
- Развитие ядра форка: транзакционный слой (ACID поверх Cassandra), глобальные индексы, слияние с апстримом Apache Cassandra
- Миграция продуктовых сервисов на использование последней версии форка
- Разработка и поддержка интеграции Cassandra во внутреннюю систему managed database
- Работа с нагрузочными тестами
- Работа с метриками, алертами, написание ранбуков, совершенствование инструментов диагностики
- Дежурство по своим сервисам, разбор инцидентов и устранение их причин
- Техническое ревью изменений и менторинг в команде
- Работа с командами-потребителями: разбор их проблем с производительностью, схемой данных и конфигурацией
Требования
- Практический опыт разработки на Java от пяти лет. Core, многопоточность, работа с памятью и сборщиком мусора, профилирование
- Понимание того, как база данных устроена внутри: хранение на диске, индексы, журнал записи, слияние файлов данных, транзакции и уровни изоляции. На примере любой СУБД
- Опыт чтения и доработки исходного кода инфраструктурного open-source: баз данных, брокеров сообщений, распределённых систем
- Опыт работы в большой чужой кодовой базе: умение разобраться в незнакомом коде и вносить изменения, не ломая смежную функциональность
- Понимание распределённых систем: репликация, консистентность, кворумы, поведение при отказе узлов и сетевых разделениях
- Готовность участвовать в дежурстве по своим сервисам и разбирать инциденты
Будет плюсом
- Опыт работы с Apache Cassandra любой версии
- Опыт с другими NoSQL-хранилищами: HBase, ScyllaDB, MongoDB, Redis
- Опыт эксплуатации баз под нагрузкой: диагностика по метрикам и логам, разбор инцидентов на продакшене
Мы предлагаем
Гибкий график работы
Бонусы и скидки от партнеров
Офис в центре города
ДМС
Профессиональная команда
Формат работы
Офисный
Дистанционный
Комбинированный
Уровень
senior
График работы
полный
One-cloud
Мы создаём и внедряем облачные технологии для одной из крупнейших серверных инфраструктур. Наша технологическая платформа включает S3-хранилища, базы данных, облако One Cloud, системы метрик, единой конфигурации, мониторинга, средства и инструменты разработки и диагностики. Разрабатываем новые решения и создаём программы с открытым исходным кодом.
Мы предлагаем
Гибкий график работы
Бонусы и скидки от партнеров
Офис в центре города
ДМС
Профессиональная команда
Похожие вакансии
Java-разработчик в команду музыкальных рекомендаций
AI VK
Москва, Комбинированный
Старший разработчик
GenAI
Санкт-Петербург, гибкий
Кадровый резерв МАХ
MAX
Москва, гибкий
Go/Java Engineer в AI
AI VK
Москва, Комбинированный
Applied AI Engineer в команду тулинга для разработки
AI VK
Дистанционный
Старший Java-разработчик в команду SQL & Search
One-cloud
Москва, Комбинированный
Android-разработчик
ОК
Москва, гибкий
Team Lead SRE-команды
One-cloud
Дистанционный
Руководитель команды
VK Tech
Москва, Комбинированный
SDET / специалист по тестированию
MAX
Москва, Комбинированный
Старший разработчик
One-cloud
Москва, гибкий
Старший Java-разработчик
MAX
Москва, гибкий
Руководитель команды
Сервисы продуктивности VK Tech
Москва, гибкий
Руководитель группы
ВКонтакте
Москва, гибкий
Team Lead
VK Pay
Москва, гибкий
Backend-разработчик
Сервисы продуктивности VK Tech
Москва, гибкий
Fullstack-разработчик
GenAI
Москва, гибкий
Руководитель группы, Feature Flow
AI VK
Москва, гибкий
Старший Java-разработчик в VK Видео
VK Видео
Москва, гибкий
Senior Java-разработчик
MAX
Москва, гибкий
Ведущий Java-разработчик
MAX
Санкт-Петербург, Комбинированный
Ведущий Backend-разработчик
Дата-сервисы VK Tech
Москва, гибкий
Руководитель команды
Дата-сервисы VK Tech
Москва, гибкий
Team Lead
ВКонтакте
Санкт-Петербург, гибкий
Java-разработчик
One-cloud
Москва, Комбинированный
Go-разработчик в команду платформы работы с данными
One-cloud
Москва, гибкий
Go/Java Team Lead core-команды платформы разработки VK
One-cloud
Москва, Комбинированный
Ведущий java-разработчик
MAX
Санкт-Петербург, Комбинированный