Вакансия: Ведущий Android-разработчик (Messaging / Matrix)
Зарплатная вилка: 250 т.р. (оплата почасовая)
Формат: full-time, удалённо (Москва / GMT+3)
Ищем сильного Android-разработчика в команду, которая развивает мессенджер на базе протокола Matrix (за основу взят Element). Проект — первая итерация с личными/групповыми переписками и отдельными каналами, доставка апдейтов через событийную модель Element. Задача — привести UI к макетам, обеспечивая полное визуальное и поведенческое соответствие с iOS-версией.
Что предстоит делать:
- Разрабатывать и дорабатывать UI мессенджера на классическом View-стеке (XML + ConstraintLayout, ViewBinding).
- Работать с Matrix-событиями: sync/timeline/room_tags.
- Обеспечивать E2EE (Megolm, key backup, восстановление ключей, device verification).
- Реализовывать сложный UI: RecyclerView с DiffUtil, ItemAnimator, ручные анимации, layout animations.
- Работать с Touch-пайплайном: onInterceptTouchEvent, slop, NestedScroll, оверскролл-жесты.
- Дебажить кастомные отрисовки: Drawable с шейдерами (RadialGradient), Canvas, ViewOutlineProvider/clip, AGSL/RenderNode/RenderEffect (живой liquid glass).
- Настраивать Edge-to-edge и инсеты через WindowInsetsCompat.
- Интегрироваться с matrix-android-sdk2 (Realm-стор, sync-воркеры).
- Взаимодействовать с дизайнерами, аналитиками, QA и iOS-командой для синхронизации поведения.
- Проводить code review, проектировать архитектуру, оптимизировать производительность, поддерживать релизы.
Требования (обязательно):
- Глубокое знание Kotlin + Coroutines/Flow (StateFlow/stateIn, structured concurrency, CancellationException-гигиена).
- Опыт с классическим View-стеком: XML + ConstraintLayout, ViewBinding, RecyclerView (DiffUtil, ItemAnimator, viewholder-паттерны).
- Понимание Touch-пайплайна: onInterceptTouchEvent, NestedScroll, оверскролл-жесты.
- Опыт с кастомной отрисовкой: Drawable/Canvas/Shader, AGSL/RenderNode/RenderEffect, ViewOutlineProvider/clip.
- Опыт с Edge-to-edge и WindowInsetsCompat.
- Hilt DI, Glide, Timber.
- Многомодульный Gradle + кастомные градл-чеки (линт на хардкод-цвета).
- Знание основ E2EE (Megolm, key backup, восстановление ключей, device verification).
- Понимание Matrix: sync/timeline/room_tags.
- Умение самостоятельно разбираться в чужом коде (Element — open source) и вносить правки.
Будет плюсом:
- Знание внутренностей matrix-android-sdk2 (Realm-стор, sync-воркеры).
- KMP + SQLDelight (channel-readmodel).
- FCM/UnifiedPush.
- Espresso/UI Automator.
- adb/uiautomator для самопроверки.
- Опыт разработки Telegram-подобных клиентов.
Условия:
- Удалённая работа по РФ.
- Сотрудничество по ИП или Самозанятости.
- Участие в развитии сложного высоконагруженного цифрового продукта.
- Оплата профессиональных курсов, скидки на обучение, корпоративная бонусная программа.
Пожалуйста, в сообщении присылайте СРАЗУ РЕЗЮМЕ.