Mid-Level Mobile Engineer (iOS, KMM)

imfuna • Argentina
Remote
Apply
AI Summary

Imfuna is hiring a Mid-Level Mobile Engineer to help evolve the foundation of their PropTech SaaS platform. The role involves building and shipping product improvements on iOS and KMM, strengthening the shared KMM core, and improving sync reliability. The ideal candidate has 4+ years of production experience shipping iOS apps in Swift and 2+ years of experience with Kotlin Multiplatform (KMM/KMP).

Key Highlights
Build and ship product improvements on iOS and KMM
Strengthen the shared KMM core
Improve sync reliability
Key Responsibilities
Build and ship product improvements on iOS and KMM
Develop and maintain shared KMM modules for domain logic, networking, local persistence, and sync
Improve our offline-first architecture
Technical Skills Required
Swift UIKit Storyboards Kotlin Multiplatform Mobile Kotlin Multiplatform Ktor SQLite Firebase App Distribution Crashlytics
Benefits & Perks
Remote work
Permanent employment
Nice to Have
Experience with SQLite or similar local persistence layers
Experience with Ktor, coroutines, and mobile networking patterns
Experience with Firebase Crashlytics and practical mobile observability

Job Description


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


Similar Jobs

Explore other opportunities that match your interests

Visa Sponsorship Relocation Remote
Job Type Contract
Experience Level Mid-Senior level

southworks

Argentina

Senior iOS Engineer

Mobile
•
3w ago

Premium Job

Sign up is free! Login or Sign up to view full details.

•••••• •••••• ••••••
Job Type ••••••
Experience Level ••••••

flatiron software

Argentina
Visa Sponsorship Relocation Remote
Job Type Full-time
Experience Level Mid-Senior level

hotsourced

South Africa

Subscribe our newsletter

New Things Will Always Update Regularly