Яндекс·Санкт-Петербург·3 дн назад
Старший бэкенд-разработчик в Медиаплатформу
Ориентир по рынку≈ 150 000 – 350 000 ₽наша приблизительная оценка по 148 вакансиям этой роли и грейда, у работодателя вилка не указана
🔄 ГибридMiddleПолная занятостьКорпорация
53
Есть о чём спросить
Работа расписана подробно, спрос на навык растёт (офис). Но вилки нет, про деньги придётся договариваться с нуля.
Наша компания
Наша платформа — часть 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
Они ломают привычные предположения о том, что «плавность важнее задержки»
Работа с открытым стеком: не «чёрный ящик» 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
Дополнительно
Почему в нашей команде интересно
Измеримая, физическая ответственность вместо абстрактных метрик