Imfuna
Mid Mobile Engineer (Native iOS + KMM) - Fully remote
ImfunaArgentina7 hours ago
Full-timeRemote FriendlyEngineering, Information Technology

Mid Mobile Engineer (Native iOS + KMM)


Tech Stack: Swift / UIKit / Storyboards (iOS); Kotlin Multiplatform Mobile / Kotlin Multiplatform (KMM / KMP); Ktor; SQLite-backed local persistence; Firebase / App Distribution / Crashlytics;


Imfuna is a PropTech SaaS platform that helps property professionals capture condition evidence on-site and generate compliant inspection and reporting workflows. Our mobile apps are used in the field, often in poor-connectivity environments. They are offline-first, data-heavy, and operationally important to customers. A single inspection can include large volumes of local data and media, so reliability, sync correctness, and clear recovery paths matter just as much as feature delivery.


We have a shared Kotlin Multiplatform core for business logic, networking, sync, and local data, with mostly native UI layers on iOS and Android. We also support multiple branded app variants from the same core codebase.


We’re hiring a Mid Mobile Engineer to help evolve this foundation safely: ship product improvements, strengthen the shared core, improve sync reliability, and reduce technical risk over time.


What you’ll do

  • Build and ship product improvements on iOS and KMM module with a high bar for reliability, usability, and performance
  • Develop and maintain shared KMM modules for domain logic, networking, local persistence, and sync
  • Improve our offline-first architecture: capture locally, queue safely, upload in the background, retry appropriately, and recover cleanly from partial failure
  • Work in the native iOS apps where platform-specific behaviour belongs, especially around UI, camera/media, background execution, file handling, permissions, and platform constraints
  • Strengthen the mobile data layer: local storage, sync state, upload orchestration, error handling, and observability
  • Help modernise the codebase through pragmatic refactoring rather than big-bang rewrites
  • Improve engineering quality in the places that matter most: tests around critical logic, safer releases, better logging, better diagnosis, and fewer regressions
  • Collaborate closely with Product, Backend, QA, and Support to solve real problems seen by field users


What we’re looking for (must-have)

  • +4 years of production experience shipping iOS apps in Swift
  • +2 years of production experience with Kotlin Multiplatform (KMM/KMP) especially shared business logic and data-layer code
  • Experience with offline-capable apps or apps with meaningful local persistence and background sync
  • Strong understanding of mobile data management, including caching, local databases, queue/state handling, and network-aware workflows
  • Experience debugging and improving real production systems, not just building greenfield features
  • Good judgement on what should live in shared code and what should remain native
  • Comfortable working in an existing codebase with architectural debt, incremental refactoring, and platform-specific edge cases
  • Able to reason about concurrency, retries, partial failure, recovery, and correctness in data-heavy workflows
  • Clear communicator with an ownership mindset


Strongly preffered

  • Experience with SQLite or similar local persistence layers
  • Experience with Ktor, coroutines, and mobile networking patterns
  • Experience with Firebase Crashlytics and practical mobile observability
  • Experience with release discipline: staged rollout, crash monitoring, rollback judgement, internal distribution
  • Experience working on multi-flavour / white-label / variant-based mobile products


Nice to have

  • Production experience shipping Android apps in Kotlin
  • Experience with backend-driven / dynamic UI patterns
  • Experience with camera, photo, audio, or file-heavy workflows
  • Experience improving CI/CD and internal release automation
  • Experience introducing testability into legacy codebases
  • Experience with Bluetooth / Wi-Fi / external device integrations in mobile apps
  • Comfortable using AI-assisted development tools (e.g., Cursor, Claude, Codex/GitHub Copilot) to speed up delivery, including generating scaffolding, refactors, tests, and docs, while keeping code quality, security, and correctness high (reviews, testing, and verification habits).


What success looks like (first 30-60 days)

  • You’ve shipped meaningful improvements on iOS and KMM
  • You’ve improved field throughput and completion rates (more inspections finished per day, fewer abandoned uploads, and faster review-to-PDF cycles), not just stability metrics.
  • Strengthened a clean, testable shared KMM core
  • Improved app stability so unexpected issues surface as controlled in-app errors rather than crashes
  • Improved sync reliability with the server (more resilient uploads, fewer failed/partial syncs)
  • Crash-free users/session target (aiming at 99.8%+ crash-free sessions)
  • Upload failure rate reduction goal
  • Time-to-diagnose target (better logs + breadcrumbs)
  • Made releases feel safer: fewer regressions, better monitoring/visibility, and faster iteration


Location

Remote - High coverage of UK working hours required

Employment type: Permanent

Key Skills

Ranked by relevance