Наша платформа — часть Yandex Infrastructure. Мы помогаем доставлять аудио и видео таким продуктам, как звонки в ЯСим, Алиса, Телемост, Автономный транспорт и многим другим.
Сейчас мы ищем Go-разработчика, чтобы увеличить объём выпускаемых фич для Автономного транспорта. Это будет основным, но не единственным направлением работы для вас в нашей команде.
Это важно потому, что Автономный транспорт работает с очень сложными сетевыми условиями. Не с классическими видеозвонками, а с ситуациями, когда задержка в 150 мс — это метры пути, потеря нескольких кадров, слепая зона, а деградация канала LTE/5G посреди перекрёстка или пробки — штатный, а не исключительный случай. Мы проектируем стек, который остаётся управляемым и предсказуемым в реальном мире мобильных сетей.
Какие задачи вас ждут:
Проектирование и развитие медиасервера на Go
Вам нужно будет строить систему, которая принимает множественные видеопотоки с камер по протоколам WHIP/WHEP и управляет ими. Это высоконагруженный сервис, где важна каждая миллисекунда.
Построение низколатентного обратного канала управления
Через WebRTC Data Channel (SCTP) нужно передавать команды и телеметрию с гарантиями по порядку и срокам доставки. Вам предстоит определить, как система общается с устройствами в реальном времени.
Качество передачи видео
Вы будете работать с механизмами, которые напрямую влияют на пользовательский опыт: bitrate/congestion control (GCC), NACK/RTX, FEC, keyframe-запросы (PLI/FIR) и jitter-buffer-стратегии. Главный приоритет — низкая задержка, а не плавность.
Управление ICE/STUN/TURN в мобильных сетях
Вам предстоит обеспечивать стабильную работу при смене вышек сотовой связи, быстрый ICE restart, приоритизацию путей и bonding нескольких SIM-каналов. Это задача, где сетевые условия меняются каждую секунду.
Построение наблюдаемости и обеспечение надёжности
Вам нужно будет создать систему сбора RTCP/getStats, метрик задержки glass-to-glass и алертинг на деградацию канала. Также предстоит продумать graceful failover сессий и поведение системы при полной потере связи.
Больше о бэкенде в Яндексе — в канале Yandex for Backend
О команде:
Почему в нашей команде интересно:
- Измеримая, физическая ответственность вместо абстрактных метрик.
- Задачи, которых нет в стандартном WebRTC-стеке: они ломают привычные предположения о том, что «плавность важнее задержки».
- Работа с открытым стеком: не «чёрный ящик» SFU, а Pion, который можно читать, править и дополнять под свои требования.
- Взаимодействие с железом и реальным миром: не сферический трафик, а LTE на трассе, туннели, хэндоверы между вышками.
Мы ждем, что вы:
- Уверенно владеете Go: конкурентность (Goroutines/Channels/Context), профилирование, работа с сетью и бинарными протоколами
- Имеете практический опыт работы с WebRTC/SIP/RTSP: понимаете SDP-переговоры, ICE, DTLS-SRTP, RTP/RTCP (не на уровне «поднял пример», а на уровне отладки)
- Понимаете транспортный уровень: UDP, TCP, TLS, поведение под потерями и джиттером; умеете читать и интерпретировать pcap
- Имеете опыт эксплуатации сервисов под нагрузкой (метрики, трейсинг, разбор инцидентов)
- Обладаете базовыми знаниями Kubernetes
Будет плюсом:
- Получили профильное образование по математике, обработке сигналов или сетям
- Работали с мобильными сетями (LTE/5G), multipath, QUIC
- Имеете опыт работы именно с pion/webrtc (или его подпроектами: pion/ice, pion/rtp, pion/sctp, pion/interceptor) и WHIP/WHEP
- Знаете congestion control (GCC, BBR), FEC, simulcast/SVC изнутри
- Умеете работать с realtime-системами, где задержка критична (телеуправлением, робототехникой, стримингом, VoIP, облачным геймингом)
- Знаете кодеки (H.264/H.265/AV1, аппаратное кодирование), понимаете trade-off latency vs quality
О компании
Yandex Infrastructure
Создаём системы и инструменты, на которых работают сервисы Яндекса