Mobile Technical Lead with Kotlin MultiPlatform
About the Role
Our client is a leading technology provider in the retail industry, delivering modern point-of-sale and store operations solutions to retailers across multiple markets. As part of an ongoing platform modernization initiative, they are evolving their client architecture away from a legacy Java 8 Swing-based POS client toward a modular, offline-first, multi-platform model — supporting stationary POS terminals, self-checkout kiosks, and self-scanning devices across diverse retail environments.
The shared business logic layer is built with Kotlin Multiplatform (KMP), targeting both JVM/Desktop and Android clients. This layer is the heart of the platform: it owns the domain rules, use cases, and data flows for critical retail operations — item registration, checkout, payment, customer management, and promotion handling — while remaining fully decoupled from platform-specific concerns and UI. Business continuity through offline operation, high testability, and performance under real retail conditions are non-negotiable priorities.
Responsibilities:
- Architecture ownership: Define clean repository, service, facade, DTO, and bridge contracts between Kotlin, platform-specific code, and the VueJS/TypeScript UI layer.
- Technical delivery: Design, implement, and maintain shared KMP modules for POS business capabilities, ensuring code is high-quality, maintainable, and performant across JVM/Desktop and Android targets.
- Platform integration: Implement platform-specific code for desktop and Android targets using expect/actual patterns, without leaking platform concerns into shared business logic.
- Offline-first delivery: Build offline-capable flows with local persistence, caching, synchronization readiness, and explicit failure handling.
- Code quality: Write clean, well-structured code, participate in reviews, and improve existing modules through refactoring where needed.
- Testing: Write automated tests for domain rules, use cases, repositories, bridge contracts, and coroutine-based flows.
- Collaboration: Work closely with frontend engineers, QA, product owners, and architects to align on contracts, requirements, and feature delivery.
- Knowledge sharing: Support teammates by sharing knowledge and mentoring less experienced Kotlin developers when appropriate.
- Team alignment: Respect team agreements and processes, while providing regular updates on progress, trade-offs, and technical decisions.
Qualifications:
Must Have
- 8+ years of experience with Kotlin, including architecture decision making with KMP at platform scale, not only within individual applications or domain layers
- Strong system-level Android experience (not just application-level)
- Strong hands-on KMP delivery to at least two targets (preferably Android and JVM/Desktop) and KMP-Swift/iOS interoperability knowledge (XCFramework, expect/actual patterns, Flow bridging - a successful candidate will have to take cross-platform decisions that iOS developers can work with)
- Java-to-Kotlin/KMP migration at platform scale
- Architectural leadership and vision — the candidate must be comfortable stepping into ambiguity and proposing concrete answers
- Modular product architecture with customer-specific extension points - experience designing multi-tenant or multi-customer product platforms is essential
- Knowledge transfer and mentoring — must be able to train engineers in modern KMP patterns and architectural thinking
- Senior stakeholder communication — will interact with technical leadership; must articulate trade-offs clearly and build confidence in the approach
- Solid understanding of Clean Architecture: domain, use-case, infrastructure, and platform layers with dependency inversion and repository abstractions
- Practical experience with Kotlin Coroutines and Flow: structured concurrency, suspend APIs, Flow-based state and events, cancellation, and error propagation
- Experience with offline-first or local-first client architecture: local persistence, caching, synchronization concepts, and conflict handling
- Familiarity with dependency injection patterns, preferably Koin: constructor injection, module composition, and test overrides
- Strong testing discipline: unit and integration tests using Kotlin Test or equivalent, test doubles, and coroutine testing utilities
- Experience integrating REST/OpenAPI-style services: typed DTO mapping, serialization, and resilient client-side communication
- Comfortable with Gradle Kotlin DSL, modular builds, and CI-friendly project structures
- Effective communication skills for collaboration with frontend developers, QA, and product stakeholders
Nice to Have
- Compose Multiplatform experience
- POS / retail embedded systems (checkout, payment terminals, scale integration, ESL), direct domain experience being a differentiator
- Desktop JVM client experience, especially Electron sidecar or local service integration patterns
- Understanding of VueJS 3 and TypeScript to collaborate effectively on Kotlin-to-UI bridge contract design
- Experience with plugin or extensibility architecture: extension points, lifecycle management, and isolation
- Performance engineering experience for latency-sensitive client operations (e.g., fast item scan, payment flows)
- POS, retail, payment, promotion, or hardware peripheral integration experience
As a people-first organization, we believe diversity strengthens our teams and drives innovation. All employment decisions are based on merit, skills, and performance, without discriminating based on any personal characteristic. This reinforces our commitment to providing an inclusive and respectful workplace.
At Accesa you can
Enjoy our holistic benefits program that covers the four pillars that we believe come together to support our wellbeing, covering social, physical, emotional wellbeing, as well as work-life fusion.
- Physical Wellbeing: Our wellbeing program includes medical benefits, gym support, and personalized fitness options for an active lifestyle, complemented by team events and the Healthy Habits Club.
- Work-Life Fusion: In very dynamic industries such as IT, the line between our professional and personal lives can quickly become blurred. Having a one-size-fits-one approach gives us the flexibility to define the work-life dynamic that works for us.
- Emotional Wellbeing: We believe that to maintain our overall health, we need to invest in our mental wellbeing just as much as we do in our physical health, social connections or in achieving work-life balance
- Social Wellbeing: As a growing community in a hybrid environment, we want to ensure we remain connected not just by the great work we do every day but through our passions and interests
You'll be redirected to Accesa's application page
Job Details
Salary
Not disclosed
Location
Romania
Job type
Full-time
Category
Mobile Development
Experience
8+ years
Posted
Today
Job Highlights
- 8+ years level role
- 100% Remote — open to candidates in Romania
- Full-time position
About Accesa
This job is hosted by Accesa. Clicking Apply opens their site.
Remote Work Style
Mix of flexible and scheduled meetings
Your Match
See how well your skills line up with this role, and what you're missing.
AI Cover Letter
Generate a cover letter tailored to this job from your profile.