Senior Software Engineer I - Mobile Developer
Responsibilities:
Design and build shared Kotlin Multiplatform modules for call-state logic and beyond, behind one interface that can be backed by either voice vendor we run
Implement the platform-specific pieces on your platform yourself where needed, Telecom/ConnectionService and audio/push handling on Android, or CallKit/PushKit and XCFramework consumption on iOS, and know the App Store rejection risks around VoIP push misuse firsthand, since this is the single highest-risk area for review flags
Set AI-assisted development practice for the team, code generation, automated testing, architecture decisions done with AI tools as a core workflow
Own architecture decisions for the shared core; mentor other engineers
Drive CI/CD maturity across both toolchains (GitHub Actions/Fastlane/Xcode Cloud + Android release pipelines)
Required skills:
6+ years of professional mobile engineering, with native-level strength on one platform (Android/Kotlin or iOS/Swift) and genuine hands-on production Kotlin Multiplatform experience bridging to the other, you've shipped expect/actual code and debugged real issues on the platform that isn't your primary, not just reviewed it
Production experience with Kotlin Multiplatform: commonMain/androidMain/iosMain, and shipping a KMP module consumed as a compiled .xcframework on iOS
Proven, specific experience extracting a shared module from a legacy single-module app, or leading a modularization effort in a legacy codebase , has actually done this migration before, not theorized about it
Experience introducing a DI framework (Hilt/Koin/Dagger) into a codebase that didn't have one
Deep, hands-on AI-assisted engineering practice (Cursor, GitHub Copilot, Claude Code, or similar) , able to set practice for others, not just follow it
Comfortable owning architecture decisions, not just implementing a spec
Nice to have:
Compose Multiplatform experience (Android and/or iOS side) , still genuinely rare given how new CMP-for-iOS is; a real accelerant if present
WebRTC, VoIP, or real-time communication protocol experience , telephony domain knowledge shortens the ramp significantly here
Flutter or Dart experience , same caveat as P2: a mindset signal only, not a substitute for KMP/CMP
Experience building/integrating AI agents into mobile applications
BS/MS in Computer Science or related field
Experience working with distributed/remote global teams