Вакансия: Ведущий 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-паттерны).