Команда развивает мессенджер на базе протокола Matrix, созданный на основе Element. Проект включает личные и групповые переписки, отдельные каналы и доставку обновлений через событийную модель Element. Android-версия должна визуально и поведенчески соответствовать версии для iOS.
android developer
подготовьтесь к отклику
ai-инструментыЧтобы адаптировать резюме под вакансию или составить сопроводительное письмо, загрузите резюме
описание
задачи
- Разрабатывать и дорабатывать интерфейс мессенджера на классическом стеке View с XML, ConstraintLayout и ViewBinding;
- Работать с событиями Matrix: sync, timeline и room_tags;
- Обеспечивать сквозное шифрование через Megolm, резервное копирование и восстановление ключей, проверку устройств;
- Реализовывать сложный интерфейс с RecyclerView, DiffUtil, ItemAnimator, ручными анимациями и анимациями макета;
- Настраивать обработку касаний через onInterceptTouchEvent, slop, NestedScroll и жесты переразмеривания прокрутки;
- Отлаживать пользовательскую отрисовку с Drawable, шейдерами, Canvas, ViewOutlineProvider, clip, AGSL, RenderNode и RenderEffect;
- Настраивать отображение от края до края и отступы через WindowInsetsCompat;
- Интегрироваться с matrix-android-sdk2, хранилищем Realm и рабочими процессами синхронизации;
- Взаимодействовать с дизайнерами, аналитиками, специалистами по контролю качества и командой iOS для синхронизации поведения;
- Проводить проверку кода;
- Проектировать архитектуру;
- Оптимизировать производительность;
- Поддерживать выпуски.
требования
- Глубоко знать Kotlin, Coroutines и Flow, включая StateFlow, stateIn, структурированную конкурентность и корректную обработку CancellationException;
- Иметь опыт работы с классическим стеком View: XML, ConstraintLayout, ViewBinding и RecyclerView, включая DiffUtil, ItemAnimator и паттерн ViewHolder;
- Понимать обработку касаний: onInterceptTouchEvent, NestedScroll и жесты переразмеривания прокрутки;
- Иметь опыт пользовательской отрисовки с Drawable, Canvas, Shader, AGSL, RenderNode, RenderEffect, ViewOutlineProvider и clip;
- Иметь опыт настройки отображения от края до края и WindowInsetsCompat;
- Знать Hilt, Glide и Timber;
- Уметь работать с многомодульным Gradle и настраивать пользовательские проверки Gradle, включая линт для жёстко заданных цветов;
- Знать основы сквозного шифрования: Megolm, резервное копирование и восстановление ключей, проверка устройств;
- Понимать Matrix: sync, timeline и room_tags;
- Уметь самостоятельно разбираться в чужом коде Element и вносить изменения;
- Будет плюсом знание внутреннего устройства matrix-android-sdk2, KMP, SQLDelight, FCM, UnifiedPush, Espresso, UI Automator, adb, uiautomator и опыт разработки клиентов, похожих на Telegram.
условия
- Удалённая работа по РФ;
- Сотрудничество по ИП или самозанятости;
- Участие в развитии сложного высоконагруженного цифрового продукта;
- Оплата профессиональных курсов;
- Скидки на обучение;
- Корпоративная бонусная программа.
навыки
Если просят войти через iCloud, отправить коды из SMS, запустить код, что-то установить, перевести деньги или сделать что угодно, связанное с деньгами, не соглашайтесь: это признаки мошенничества.