Нам нужен опытный разработчик, чтобы усилить команду разработки новых продуктов для нашей видео-стриминговой платформы Facecast для VoD, онлайн-стриминга с задержкой (HLS) и в рилтайме (WebRTC).
Основной стек продукта:
- JavaScript/TypeScript;
- React, Redux, Redux RTK;
- WebRTC/LiveKit;
- WebSocket/gRPC;
- ViteJS.
Обязательно наличие опыта разработки медийной части веб-приложений на базе WebRTC с использованием LiveKit, Janus, mediasoup, Jitsi или аналогичной SFU-платформы, понимание как масштабировать видеоконференцию на 100+ участников. Сделать кнопку «Присоединиться к звонку» к такому опыту не относится.
Конкретно по WebRTC нужно знать:
- различия между Mesh, SFU, MCU и опытом работы хотя бы с одним из подходов (предпочтительно SFU);
- Simulcast/SVC, уметь объяснить разницу, плюсы и ограничения;
- управление потоками: MediaStream/ MediaStreamTrack/replaceTrack, переключение устройств (камеры, микрофоны);
- getUserMedia, screen sharing (getDisplayMedia), обработку ошибок и edge-cases;
- принципы signaling, ICE, STUN/TURN, кандидатов, реконнекта;
- диагностику WebRTC-проблем (bitrate, jitter, packet loss, codec negotiation).
Что требуется:
Что нужно делать:
- развивать и поддерживать продукты;
- проектировать архитектуру и реализацию, защищать свои решения;
- организовать разработку, тестирование и поддержку созданного;
- писать читаемый и легко поддерживаемый код;
- декомпозировать и приоритизировать задачи;
- проводить кодревью;
- работать с техдолгом;
- делиться знаниями.
Условия:
- вы будете частью команды и, вместе с тем, мы постараемся выделить в вашу личную разработку конкретные продукты;
- аккредитованная Минцифры, 10 лет успешно работающая продуктовая айти-компания;
- пишем для себя, не аутсорсим;
- удалёнка, при желании можно работать в офисе в Москве;
- зарплата, размер которой зависит от знаний и опыта;
- здоровые отношения внутри команды;
- удобный график работы, и совам и жаворонкам будет комфортно.