Skip to content
mimi

Senior Mobile Engineer (Kotlin Multiplatform / Native iOS & Android, Americas Remote, 1099)

Team Management Systems

Canada · On-site Contract Senior 2w ago

About the role

Senior Mobile Engineer (Kotlin Multiplatform / Native iOS & Android)

Contract (1099), Remote – Americas time zones

Role overview

You will design, build, and own the next generation of the ServiceFactor mobile app, with a strong focus on:

• Kotlin Multiplatform (KMP) shared business logic

• Native UIs on iOS (Swift/SwiftUI) and Android (Kotlin/Jetpack Compose)

• Offline‑first behavior and card‑present payments via Bluetooth devices

This is a hands‑on 1099 contract role with the expectation that you:

• Lead the architecture and greenfield implementation of the new app.

• Stay on as the primary owner for maintenance, iterative enhancements, and technical stewardship.

You’ll work directly with our CEO and Head of Engineering, and collaborate with our existing backend/web team.

What you’ll do

Architecture & greenfield build

• Design the overall mobile architecture: KMP shared modules, native UI layers, offline storage, sync engine, and integration with our REST APIs.

• Implement a local‑first data model (e.g., SQLDelight/Room/CoreData) for work orders, invoicing, customers, equipment, and time tracking.

• Create detailed design docs and architecture documents for review and approval by the Head of Engineering

Build and ship native UIs for:

• Job lists and detail workflows.

• Quotes, invoices, and signatures.

• Customer and equipment management.

• Time tracking and basic supervisor views.

• Integrate with our existing backend (Laravel/API) and authentication model, including token handling, secure storage, and session management.

Payments, Bluetooth, and reliability

• Implement card‑present payment flows using vendor‑specific SDKs on both iOS and Android.

• Integrate and manage Bluetooth payment devices and potentially other peripherals, using native stacks (CoreBluetooth / BluetoothGatt).

• Ensure all payment flows are PCI‑aware: no PAN/CVV handling in app code, secure token storage, and safe logging practices.

• Design for real‑world field conditions: intermittent connectivity, older/mid‑range Android devices, and long‑running sessions.

• Offline‑first and lifecycle

Quality, release, and long‑term ownership

• Establish automated testing (unit, integration, and key end‑to‑end flows) and a CI/CD pipeline for mobile builds.

• Set up crash and performance monitoring, logging, and metrics for the mobile apps.

• Own App Store / Google Play configurations, release process, and test builds (TestFlight / internal testing tracks).

• Document architecture and decisions (short design docs, ADRs, diagrams) so others can safely contribute over time.

• Act as the long‑term owner of the mobile codebase, working on iterative enhancements, performance tuning, and new features.

• Support pre-existing maintenance on legacy iOS and Android apps during the transition process

Who you are

Must‑have experience

• 6+ years of professional mobile development experience.

• 3+ years working with Kotlin in production, and at least 1+ year with Kotlin Multiplatform (KMP) or closely related shared‑logic patterns.

• Strong experience with native iOS (Swift, SwiftUI and/or UIKit) and native Android (Kotlin, Jetpack Compose and/or Views).

• Demonstrated experience building offline‑first mobile apps with:

• Local database, queued writes, and sync strategies.

• Conflict handling and robust error recovery.

• Solid experience integrating with REST/JSON APIs, authentication tokens, and secure storage (Keychain/Keystore, etc.).

• Hands‑on experience with Bluetooth integrations on at least one platform (CoreBluetooth or BluetoothGatt).

• Experience integrating payments or FinTech SDKs (card‑present and/or card‑not‑present) and working within PCI‑related constraints.

• Demonstrated experience at communicating technical architecture and design via engineering docs and diagrams and experience in working in a software design lifecycle (SDLC) process with review stages

• 3+ years of Mobile QA automation experience for writing code with automation tests

• 3+ years of Cloud experience (AWS preferred but not required)

Nice‑to‑have

• Prior work on field‑service, logistics, or other hardware‑heavy / offline‑heavy mobile apps

• Experience tuning performance on mid‑range and older Android devices.

• Familiarity with SQLDelight, Ktor, Koin, coroutines/Flows, and Swift interop tooling for KMP.

• Exposure to web stacks and how mobile and web share concepts and contracts.

Working style

• Owner mindset – you think in terms of product outcomes and long‑term maintainability, not just tickets.

• Comfortable designing from high‑level requirements, asking questions, and filling in the technical details.

• Able to explain trade‑offs and architecture choices clearly to a non‑mobile‑specialist audience.

• Pragmatic: you know when to ship a clean v1 and when to invest more deeply in abstraction or tooling.

Engagement details

• Type: 1099 contractor.

• Location: Remote, with strong overlap to US Central time; preference for engineers in US, Latam, Canada, or Americas.

Current engineering environment

• iOS: Swift, some Objective-C

• Android: Java

• Direction: Move to Kotlin Multiplatform for shared business logic (and separate native UIs or potentially shared UI if applicable)

• APIs: REST

• Backend: Laravel, PHP

• Cloud: AWS (light experience preferred)

Commitment:

• Initial 3-6 month intensive build to deliver the new app to production.

• Ongoing, part‑time or full‑time engagement for maintenance and iterative enhancements (to be mutually agreed).

• Compensation: Competitive hourly or day rate, commensurate with experience and location.

If you’re a senior mobile engineer who wants to own a critical app end‑to‑end, and you enjoy hard problems like offline‑first, Bluetooth hardware, and payments, we’d love to hear from you

Job Type: Contract

Application Question(s):

• What are your compensation expectations for hourly rate?

Experience:

• Mobile product development: 5 years (Required)

• Kotlin: 3 years (Preferred)

• Unit testing: 3 years (Required)

• AWS: 3 years (Required)

Work Location: Remote

Requirements

  • 6+ years of professional mobile development experience
  • 3+ years working with Kotlin in production
  • Strong experience with native iOS and native Android
  • Demonstrated experience building offline-first mobile apps
  • Solid experience integrating with REST/JSON APIs, authentication tokens, and secure storage

Responsibilities

  • Design, build, and own the next generation of the ServiceFactor mobile app
  • Lead the architecture and greenfield implementation of the new app
  • Stay on as the primary owner for maintenance, iterative enhancements, and technical stewardship
  • Implement card-present payment flows using vendor-specific SDKs on both iOS and Android
  • Integrate and manage Bluetooth payment devices and potentially other peripherals
  • Establish automated testing and a CI/CD pipeline for mobile builds
  • Set up crash and performance monitoring, logging, and metrics for the mobile apps

Skills

KotlinKotlin MultiplatformSwiftSwiftUIJavaAndroidiOSBluetoothPCIREST APIsAWS

Don't send a generic resume

Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.

Get started free