VK

С++ / Rust Developer в команду KPHP

Не указана
  • Санкт-Петербург
  • Полная занятость
  • Удаленная работа
  • От 1 года до 3 лет
  • C++
  • Rust

Наша команда разрабатывает KPHP — сердце инфраструктуры бэкенда ВКонтакте. Это не только компилятор языка, на котором написано 10M+ строк кода бизнес-логики, но и языковой рантайм, веб-сервер и платформа исполнения, на которой работает весь бэкенд.

Сейчас мы глобально пересматриваем архитектуру всей системы и разрабатываем новый асинхронный рантайм на основе компонентной платформы поверх Tokio Rust. Наша ближайшая глобальная цель — перевести на новую платформу бэкенд ВКонтакте на масштабах 2 млн RPS.

А ещё мы занимаемся улучшением developer experience, прокачиваем производительность и надёжность системы.

Ищем специалиста, который усилит нашу команду.

У нас интересно

  • Огромное влияние на продакшен ВКонтакте — 2 млн RPS живого трафика
  • Большая часть разработки проходит в open source https://github.com/VKCOM/kphp
  • Используем современные технологии — C++, Tokio Rust, stackless корутины
  • Разнообразные задачи и отсутствие рутины
  • Широкая зона ответственности и простор для творчества
  • Нет лишней бюрократии

Примеры наших задач

Улучшение компилятора (стек C++)

  • Улучшение типовой системы
  • Внедрение escape-анализа
  • Поддержка новых языковых фич

Развитие рантайма (стек C++)

  • Разработка нового thread-safe re-entrant рантайма
  • Улучшение стандартной библиотеки языка
  • Оптимизация рантаймовых примитивов языка (строки, массивы, хеш-таблицы и другие)
  • Оптимизация аллокатора
  • Модернизация собственных корутин на основе языковых механизмов C++20

Разработка асинхронной компонентной платформы исполнения (стек Rust)

  • Профилирование и тюнинг Tokio на продакшене
  • Проектирование и разработка подсистемы исполнения CPU-bound задач
  • Проектирование и реализация low-latency in-memory кеша для горячих пользовательских данных
  • Модернизация сетевого слоя и тюнинг веб-сервера
  • Различные бенчмарки и низкоуровневые оптимизации производительности на стыке Rust, C++ и не только

Требования

  • Опыт работы на технологически сложных инфраструктурных проектах не менее трёх лет
  • Отличное знание C++, принципов работы с памятью и умение писать понятный эффективный код
  • Уверенное знание системного программирования
  • Понимание принципов профилирования низкоуровневого кода и утилизации ресурсов
  • Умение погружаться в незнакомый код любого уровня сложности
  • Желание заниматься сложными инфраструктурными вещами

Будет плюсом

  • Опыт или интерес к разработке языков
  • Опыт или интерес к разработке на Rust
  • Владение контекстом веб-разработки

Приглашаем специалиста, который сможет посещать офис в Москве или Санкт-Петербурге, работать в комбинированном режиме или удалённо. Ждём ваших откликов. Удачи!