Role Description
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.
We are looking for a Senior Kotlin Developer who is experienced in KMP delivery, comfortable owning complex shared modules in a layered architecture, and motivated by the challenge of building the reliable, platform-agnostic foundation that modern retail operations depend on.
Qualifications
-
5+ years of experience with Kotlin, including strong hands-on KMP delivery to at least two targets (preferably Android and JVM/Desktop)
-
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
Requirements
-
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.
-
Define clean repository, service, facade, DTO, and bridge contracts between Kotlin, platform-specific code, and the VueJS/TypeScript UI layer.
-
Implement platform-specific code for desktop and Android targets using expect/actual patterns, without leaking platform concerns into shared business logic.
-
Build offline-capable flows with local persistence, caching, synchronization readiness, and explicit failure handling.
-
Write clean, well-structured code, participate in reviews, and improve existing modules through refactoring where needed.
-
Write automated tests for domain rules, use cases, repositories, bridge contracts, and coroutine-based flows.
-
Work closely with frontend engineers, QA, product owners, and architects to align on contracts, requirements, and feature delivery.
-
Support teammates by sharing knowledge and mentoring less experienced Kotlin developers when appropriate.
-
Respect team agreements and processes, while providing regular updates on progress, trade-offs, and technical decisions.
Benefits
-
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.