We are looking for a Mobile Developer to build and maintain mobile features across Android and iOS. The role isn't purely native; you'll work on both platforms, using native tooling as well as cross-platform frameworks, and contribute to shared logic via Kotlin Multiplatform. You'll collaborate with the Mobile Lead, Backend, and Product teams on day-to-day feature delivery.
Responsibilities:
- App Development: Design, build, and maintain mobile application features across Android and iOS, using native tooling (Kotlin + Jetpack Compose / Swift + SwiftUI) as well as cross-platform frameworks, following modern architecture patterns (MVVM/MVI, clean architecture).
- Cross-Platform Development: Build and maintain shared business logic and/or UI using a cross-platform framework (Kotlin Multiplatform preferred; Flutter or React Native also relevant), balancing code reuse with native UX quality.
- Scale and Performance: Build features and systems that hold up under high user load, optimizing for app startup time, memory footprint, rendering performance, and network efficiency.
- CI/CD Ownership: Maintain and improve CI/CD pipelines (GitHub Actions, Fastlane) covering linting, automated testing, code signing, and store deployments; troubleshoot pipeline failures independently.
- Code Quality: Write clean, testable, well-documented code; participate actively in code reviews and uphold engineering best practices across the squad.
- Cross-Team Collaboration: Partner with backend engineers to define and consume API contracts, and work with product/design to translate requirements into polished, functional UI.
- Debugging and Observability: Use crash reporting and performance monitoring tools (e. g., Crashlytics, Firebase Performance) to diagnose issues and drive fixes proactively.
- Performance Tuning: Profile and improve app startup time, memory footprint, and responsiveness; own multithreading/concurrency decisions in performance-sensitive code paths.
- Release Support: Support release cycles, including phased rollouts, hotfixes, and store submission processes, working closely with the Mobile Lead.
- Technical Versatility: Stay current with the broader mobile ecosystem (native, KMP, React Native, Flutter, etc. ) and bring an informed perspective on tooling and architecture decisions.
Requirements:
- Experience: 4-8 years of professional mobile development experience, with a track record of shipping and maintaining production apps.
- Platform Expertise: Hands-on experience with at least one native platform, Android (Kotlin + Jetpack Compose) or iOS (Swift + SwiftUI), is required; working experience with both platforms is a plus.
- Cross-Platform Framework: Hands-on experience with at least one cross-platform framework (Kotlin Multiplatform, Flutter, or React Native) is required. Experience with Kotlin Multiplatform (KMP) specifically is preferred.
- Scale: Experience working on apps with a large, active user base, with an understanding of the performance, reliability, and release challenges that come with scale.
- Mobile Landscape Awareness: Good understanding of the broader mobile technology landscape and tradeoffs between native and cross-platform approaches, and ability to reason about when to use what.
- CI/CD: Practical experience maintaining CI/CD pipelines for mobile (GitHub Actions, Fastlane, or equivalent), including build automation and code signing.
- Testing: Experience writing unit and UI tests; familiarity with automated testing frameworks.
- Performance and Reliability: Experience optimizing app startup time, memory usage, and rendering performance; comfortable diagnosing and fixing performance regressions.
- Crash Tracking and Debugging: Hands-on experience with crash reporting and diagnostics tools (e. g., Crashlytics), triaging crash reports, and driving root-cause fixes.
- Kotlin Internals: Solid understanding of Kotlin language internals (coroutines, sealed classes, inline/reified functions, memory model) beyond surface-level syntax.
- Multithreading and Concurrency: Practical experience with multithreading and concurrency patterns on mobile (coroutines/structured concurrency, GCD/Dispatch, thread safety, background processing).
- AI-Assisted Development: Hands-on experience using AI agentic development tools (e. g., Claude Code, Cursor, GitHub Copilot) as part of the regular development workflow.
- Education: Bachelor's degree or higher in computer science, software engineering, or equivalent practical experience.