Role & responsibilities Preferred candidate profile Key Requirements for Android and iOS Developers Specializing in Video Calling, Voice Calling, and Video Streaming Developers skilled in building real-time communication features (like video/voice calling and streaming) for mobile apps typically need a mix of core mobile development expertise and specialized knowledge in real-time media handling . Most modern implementations rely on WebRTC (Web Real-Time Communication) as the underlying technology, either directly via native libraries or through third-party SDKs (e.g., Agora, ZEGOCLOUD, VideoSDK, Vonage, Twilio, Sinch). Core Platform-Specific Skills PlatformPrimary LanguagesKey Frameworks/ToolsMinimum Experience Level Android Kotlin (preferred), JavaAndroid Studio, Android SDK (API Level 21+), Jetpack Compose or XML layouts3+ years in native Android development iOS Swift (preferred), Objective-CXcode, iOS SDK, SwiftUI or UIKit3+ years in native iOS development Specialized Skills for Video/Voice Calling and Streaming These features involve handling camera/microphone access, peer-to-peer connections, low-latency streaming, network adaptability, and media processing. Strong expertise in WebRTC : Core APIs: getUserMedia (media access), RTCPeerConnection (peer setup), RTCDataChannel (data transfer). Native integration: Official WebRTC libraries for Android and iOS. Handling ICE/STUN/TURN servers for NAT traversal, signaling (e.g., via WebSockets or Firebase). Experience with third-party RTC SDKs/APIs (highly valued, as they simplify complex WebRTC setup): Popular options: Agora, ZEGOCLOUD, VideoSDK, Twilio, Vonage (OpenTok), Sinch, MirrorFly, QuickBlox. Ability to integrate features like group calls, screen sharing, adaptive bitrate, noise suppression, and low-latency streaming. Media handling and permissions : Camera/microphone access and management (front/rear switching, mute/unmute). Audio/video codecs (e.g., VP8/VP9, H.264, Opus). Streaming protocols (e.g., RTMP for live broadcasting, HLS for playback). Networking and performance optimization : Handling variable network conditions (packet loss, jitter, bandwidth adaptation). Background modes (e.g., VoIP push notifications on iOS via PushKit/CallKit, Android Telecom Framework). Battery and data efficiency for prolonged calls/streams. UI/UX for real-time features : Custom views for video rendering (e.g., SurfaceView/TextureView on Android, RTCEAGLVideoView on iOS). Call screens, overlays, PIP (Picture-in-Picture), and notifications. Additional Valuable Skills Backend integration: Signaling servers, authentication (e.g., tokens from Firebase or custom servers). Testing and debugging: Tools for network simulation, media quality metrics (jitter, latency). Security: Encryption (DTLS/SRTP in WebRTC), secure token handling. Soft skills: Problem-solving for real-time issues, collaboration with backend teams. Experience and Portfolio Expectations Proven projects: Apps with 1:1/group video calls, voice calls, or live streaming (e.g., similar to Zoom, WhatsApp, or Twitch mobile features). Portfolio demos: GitHub repos or live apps showcasing WebRTC/SDK integrations. Bonus: Contributions to open-source WebRTC projects or handling edge cases (e.g., low-bandwidth environments).