
Старший разработчик (One-cloud)
в VK
от 300 000 ₽/мес на руки

Технологии/инструменты
Мы — одна из немногих команд в стране, которая разрабатывает ядро распределённой базы данных, а не просто эксплуатирует её. У нас собственный форк 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.
- Опыт эксплуатации баз под нагрузкой: диагностика по метрикам и логам, разбор инцидентов на продакшене.
Мы предлагаем
- Гибкий график работы.
- Бонусы и скидки от партнеров.
- Офис в центре города.
- ДМС.
- Профессиональная команда.

О компании VK
VK — крупнейшая технологическая компания по числу пользователей в Рунете. Цифровые продукты VK предоставляют десяткам миллионов людей возможность решать повседневные задачи онлайн: общаться, учиться, развлекаться и самореализовываться. Для предпринимателей VK разрабатывает инструменты развития и продвижения бизнеса в социальных сетях и на контентных платформах. Для бизнес-клиентов VK развивает продукты и услуги по цифровизации.
VK — это команда профессионалов, которая создает комфортную и безопасную цифровую среду для миллионов людей и тысяч бизнес-клиентов. Компания привлекает лучшие таланты и предоставляет им возможность раскрыть свой потенциал в дружелюбной и безопасной среде, в командной работе над популярными цифровыми продуктами и сервисами.