Обязанности:
- Интеграция WebRTC в React Native-приложение и разработка экранов звонков.
- Работа с микрофоном, камерой и аудиоустройствами; реализация входящих и исходящих звонков.
- Поддержка фонового режима и интеграция с Push Notifications для VoIP.
- Работа с состояниями соединения, оптимизация энергопотребления и диагностика проблем пользователей.
Требования:
- Опыт коммерческой разработки на React Native от нескольких лет; желательно знание TypeScript, React Hooks и React Navigation.
- Практический опыт разработки аудио-, видео- и групповых звонков с WebRTC и react-native-webrtc.
- Глубокое понимание Android: AudioManager, Bluetooth, Audio Focus, Foreground Service, Permissions и Camera API.
- Глубокое понимание iOS и опыт работы с AVAudioSession, PushKit, CallKit, Background Modes, камерой и разрешениями.
- Опыт с Push Notifications: FCM, APNs и VoIP Push; понимание WebSocket, ICE, TURN и STUN.
- Опыт профилирования и оптимизации CPU и памяти, снижения энергопотребления и адаптации под слабые устройства.
- Умение самостоятельно реализовать полный клиентский цикл звонков, диагностировать проблемы на реальных устройствах и работать с нестабильной сетью.
- Понимание различий поведения Android и iOS, ориентация на качество пользовательского опыта.
Будет плюсом: Swift, Kotlin, нативные модули React Native, Expo Modules, Hermes, Flipper, опыт публикации приложений и разработки мессенджеров или видеоконференций.
Условия: полная занятость, график 5/2, гибридный формат работы в Москве. Опыт работы: 3–6 лет.