Обязанности:

  • Интеграция 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 лет.