Senior Kotlin Multiplatform Developer (bankowość)
Lokalizacja: Hybryda - 4 dni w miesiącu z biura w Warszawie, reszta zdalnie
Stawka: do 160 zł/h na b2b
Wprowadzenie i Podsumowanie
Poszukiwany Senior Kotlin Multiplatform Developer z zaawansowanym doświadczeniem w Kotlinie i Kotlin Multiplatform (KMP). Idealny kandydat wykazuje silne umiejętności w projektowaniu oraz architekturze aplikacji, a także w programowaniu asynchronicznym. Oferta skierowana do profesjonalistów z minimum 5-letnim doświadczeniem w rozwoju oprogramowania.
Główne obowiązki
Projektowanie i rozwój aplikacji z wykorzystaniem Kotlin Multiplatform (KMP).
Tworzenie i utrzymywanie współdzielonych modułów biznesowych oraz warstwy danych.
Integracja modułów KMP z aplikacjami Android i iOS.
Projektowanie architektury aplikacji zgodnie z zasadami Clean Architecture i modularizacji.
Implementacja komunikacji z API (REST, GraphQL) oraz zarządzanie lokalnym cache i synchronizacją danych.
Tworzenie testów jednostkowych i integracyjnych dla modułów współdzielonych oraz platformowych.
Współpraca z zespołami Android, iOS oraz Backend.
Udział w code review, refaktoryzacji oraz utrzymaniu wysokiej jakości kodu.
Analiza wydajności aplikacji, debugowanie oraz optymalizacja rozwiązań.
Współtworzenie standardów technicznych i wsparcie mniej doświadczonych programistów.
Wymagania kluczowe
Minimum 5 lat doświadczenia w tworzeniu oprogramowania (Mobile lub Backend).
Minimum 2 lata doświadczenia z Kotlin oraz minimum rok komercyjnego doświadczenia z Kotlin Multiplatform (KMP).
Udział w co najmniej jednym produkcyjnym projekcie opartym o Kotlin Multiplatform.
Bardzo dobra znajomość Kotlin (Coroutines, Flow, Extension Functions) oraz Kotlin Multiplatform (Shared Modules, expect/actual, commonMain).
Doświadczenie z Jetpack Compose oraz architekturą Android (ViewModel, Lifecycle, Hilt/Koin).
Znajomość integracji KMP z iOS oraz podstaw Swift/SwiftUI lub UIKit.
Praktyczna znajomość Clean Architecture, MVVM/MVI oraz modularizacji aplikacji.
Doświadczenie z REST API, GraphQL, Kotlinx Serialization oraz zarządzaniem danymi (cache, offline-first).
Umiejętność pisania testów jednostkowych i integracyjnych (MockK lub podobne narzędzia).
Znajomość Gradle (KTS), Git oraz narzędzi CI/CD (GitLab CI lub GitHub Actions).
Umiejętność projektowania rozwiązań, dbania o jakość kodu, przeprowadzania code review oraz rozwiązywania problemów wydajnościowych.
Nice to Have
Compose Multiplatform.
Ktor.
Kotlin/JS lub WebAssembly (Wasm).
Domain-Driven Design (DDD).
Doświadczenie w roli Tech Leada, mentoringu lub definiowaniu standardów technicznych.