Senior Mobile Engineer (Kotlin Multiplatform / Native iOS & Android, Americas Remote, 1099)
Team Management Systems
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
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