Developer/Senior (Android)
**Location: Remote in Russia, +-2 hours Moscow time
Company: **NovElect (outstaff)
Salary: from 250,000 to 300,000 RUB.
Employment: Full-time
**Project: **Personal Account and Main Page. MB. Digital Services Marketplace_Main.
Key requirements:
- Deep understanding of Clean Architecture (data / domain / presentation) and similar architectures
- Commercial experience with MVI (preferably FlowMVI) or MVVM+ (MVI/MVVM Hybrid)
- Experience with feature-based multi-module architecture, preferably with separation into api and implementation
- Practical application of SOLID, KISS, DRY principles and design patterns
- Expert knowledge of Kotlin
- Strong proficiency with KotlinX.Coroutines and Flow
(Structured concurrency & Cancellation, Dispatcher, Thread-safety, Cold/Hot Flows)
- Knowledge of OOP and FP paradigms
- Experience with Jetpack Compose for 1+ years (preferably Production experience)
- Understanding of recomposition, stability, state hoisting, side-effects
- Ability to create adaptive design layouts and use animations
- Excellent knowledge of Material Design
- Understanding of REST
- Experience working with KotlinX.Serialization with experience implementing custom serializers
- Experience with Ktor is a plus
- Experience working with data storage
- SharedPreferences and DataStore
- Databases, e.g., Room, SQLite, or Realm
- Device memory
- Experience with DI systems
- Understanding of factory, single, scoped and conscious management of dependency lifecycle
- Production experience with Koin is a plus
- Confident setup of Gradle and version catalog at the level of working with dependencies and AGP
- Experience with Navigation 3
or with any other type-safe approaches (e.g., type-safe Navigation 2) to navigation
- Experience writing Unit tests
- Experience with Kotest (+ property testing) is a plus
- Experience writing Compose UI tests is a plus.
- Experience working with an analytics system, as well as experience investigating incidents
- Experience with Yandex AppMetrica is a plus
- Experience integrating third-party libraries (Comparison of analogues, detailed analysis, implementation with/without encapsulation)
What we expect from you:
- Designing a feature entirely
- Decomposing complex business logic
- Responsibility for architectural decisions
- Code review and mentoring (according to level)
- Understanding the balance between architecture, deadlines, and business requirements
Do NOT consider:
- Developers with experience only in XML UI.
- RxJava and other reactivity approaches.
- Java approaches and libraries (Our rule is Kotlin-first)
Will be a plus:
- Experience preparing a project for KMP.
- Experience building a design system.
- Experience working with a large multi-module application.
- Participation in open-source.
- Experience building CI/CD pipelines.
💬 Send resume to: @JulyAsap