Vacancy: Senior Android Developer (Messaging / Matrix)
Salary Range: 250k RUB (hourly rate)
Format: full-time, remote (Moscow / GMT+3)
We are looking for a strong Android developer to join our team, which is developing a messenger based on the Matrix protocol (Element is taken as a basis). The project is the first iteration with private/group chats and separate channels, delivering updates through Element's event model. The task is to bring the UI to the mockups, ensuring complete visual and behavioral consistency with the iOS version.
Responsibilities:
- Develop and refine the messenger's UI on the classic View stack (XML + ConstraintLayout, ViewBinding).
- Work with Matrix events: sync/timeline/room_tags.
- Ensure E2EE (Megolm, key backup, key recovery, device verification).
- Implement complex UI: RecyclerView with DiffUtil, ItemAnimator, manual animations, layout animations.
- Work with the Touch pipeline: onInterceptTouchEvent, slop, NestedScroll, overscroll gestures.
- Debug custom drawing: Drawable with shaders (RadialGradient), Canvas, ViewOutlineProvider/clip, AGSL/RenderNode/RenderEffect (live liquid glass).
- Configure Edge-to-edge and insets using WindowInsetsCompat.
- Integrate with matrix-android-sdk2 (Realm store, sync workers).
- Collaborate with designers, analysts, QA, and the iOS team to synchronize behavior.
- Conduct code reviews, design architecture, optimize performance, support releases.
Requirements (Mandatory):
- Deep knowledge of Kotlin + Coroutines/Flow (StateFlow/stateIn, structured concurrency, CancellationException hygiene).
- Experience with the classic View stack: XML + ConstraintLayout, ViewBinding, RecyclerView (DiffUtil, ItemAnimator, viewholder patterns).
- Understanding of the Touch pipeline: onInterceptTouchEvent, NestedScroll, overscroll gestures.
- Experience with custom drawing: Drawable/Canvas/Shader, AGSL/RenderNode/RenderEffect, ViewOutlineProvider/clip.
- Experience with Edge-to-edge and WindowInsetsCompat.
- Hilt DI, Glide, Timber.
- Multimodule Gradle + custom gradle checks (lint for hardcoded colors).
- Knowledge of E2EE basics (Megolm, key backup, key recovery, device verification).
- Understanding of Matrix: sync/timeline/room_tags.
- Ability to independently understand and modify existing code (Element is open source).
Will be a plus:
- Knowledge of the internals of matrix-android-sdk2 (Realm store, sync workers).
- KMP + SQLDelight (channel-readmodel).
- FCM/UnifiedPush.
- Espresso/UI Automator.
- adb/uiautomator for self-testing.
- Experience developing Telegram-like clients.
Conditions:
- Remote work within Russia.
- Cooperation as an individual entrepreneur or self-employed.
- Participation in the development of a complex, high-load digital product.
- Payment for professional courses, training discounts, corporate bonus program.
Please send your RESUME IMMEDIATELY in your message.