O ofercie
Разработка и развитие iOS-мессенджера на базе протокола Matrix и Element. Необходимо обеспечивать визуальное и поведенческое соответствие iOS-версии Android-приложению, работать с UI, событийной моделью Matrix, E2EE и системными возможностями iOS.
Что предстоит делать
- Разрабатывать и дорабатывать UI мессенджера на SwiftUI и UIKit.
- Работать с Matrix-событиями: sync, timeline и room_tags.
- Обеспечивать E2EE: Megolm, key backup, восстановление ключей и device verification.
- Интегрироваться с matrix-ios-sdk с Obj-C API, отлавливать и исправлять краши на implicitly-unwrapped optionals.
- Настраивать Keychain, entitlements, app groups и пуш-расширения NSE.
- Дебажить анимации, кастомные жесты, Spring-анимации, работу с GeometryReader и PreferenceKey.
- Взаимодействовать с дизайнерами, аналитиками, QA и Android-командой для синхронизации поведения.
- Проводить code review, проектировать архитектуру, оптимизировать производительность и поддерживать релизы.
Требования
- Глубокое знание Swift и SwiftUI: GeometryReader, PreferenceKey, safeAreaInset, zIndex, hit-testing, drawingGroup, кастомные жесты LongPress→Drag и spring-анимации.
- Опыт работы с UIKit и интеропом: hosting controllers, координаторы легаси-навигации Element, UIKit-вьюхи внутри SwiftUI и наоборот.
- Понимание Obj-C интеропа: работа с matrix-ios-sdk, NSString-мостами и implicitly-unwrapped optionals.
- Опыт работы с Keychain, entitlements, app groups и NSE.
- Знание основ E2EE: Megolm, key backup, восстановление ключей и device verification.
Проект
Команда развивает мессенджер на базе протокола Matrix, за основу взят Element. Проект включает личные и групповые переписки, отдельные каналы и доставку обновлений через событийную модель Element.
Условия
- Full-time, удалённая работа по РФ.
- Сотрудничество по ИП или самозанятости.
- Оплата 250 000 рублей, почасовая форма оплаты.
- Участие в развитии сложного высоконагруженного цифрового продукта.
- Оплата профессиональных курсов, скидки на обучение и корпоративная бонусная программа.
Отклик
В сообщении нужно сразу прислать резюме. Отклик принимается через @i_schanti.