#IT #MobileDevelopment #iOS #Swift #SwiftUI #UIKit #Matrix #Element #vacancy #remote
Vacancy: Lead iOS Developer (Messaging / Matrix)
Salary Range: 250,000 RUB (hourly rate)
Format: full-time, remote (Moscow / GMT+3)
We are looking for an iOS developer to join a team that is developing a messenger based on the Matrix protocol (Element is taken as the basis). The project is the first iteration with personal/group chats and separate channels, delivering updates through Element's event model. The task is to bring the UI to the mockups, ensuring full visual and behavioral consistency with the Android version.
Responsibilities:
- Develop and refine the messenger's UI using SwiftUI and UIKit.
- Work with Matrix events: sync/timeline/room_tags.
- Ensure E2EE (Megolm, key backup, key recovery, device verification).
- Integrate with matrix-ios-sdk (Obj-C API), catch and fix crashes on implicitly-unwrapped optionals.
- Configure Keychain/entitlements/app groups, push extensions (NSE).
- Debug animations, custom gestures, Spring animations, working with GeometryReader/PreferenceKey.
- Interact with designers, analysts, QA, and the Android team to synchronize behavior.
- Conduct code reviews, design architecture, optimize performance, support releases.
Requirements (Mandatory):
- Deep knowledge of Swift and SwiftUI: GeometryReader/PreferenceKey, safeAreaInset, zIndex/hit-testing, drawingGroup, custom gestures (LongPress→Drag), spring animations.
- Experience with UIKit and interop: hosting controllers, Element legacy navigation coordinators, UIKit views within SwiftUI and vice versa.
- Understanding of Obj-C interop: working with matrix-ios-sdk, NSString bridges, implicitly-unwrapped optionals.
- Experience with Keychain/entitlements/app groups, NSE (push extension).
- Knowledge of E2EE basics (Megolm, key backup, key recovery, device verification).
- Understanding of Matrix: sync/timeline/room_tags.
- Ability to independently understand and modify third-party code (Element is open source).
Will be a plus:
- Experience with SQLCipher.
- Metal/CI filters.
- Experience developing Telegram-like clients.
- Knowledge of FCM/UnifiedPush.
- Experience with Espresso/UI Automator (for self-testing on iOS).
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.
Contact: @i_schanti