IOS, Android - разработчик

Дата размещения вакансии: 06.05.2026
Работодатель: Ситидом
Уровень зарплаты:
з/п не указана
Город:
Москва
площадь Пречистенские Ворота 1
Требуемый опыт работы:
От 1 года до 3 лет

О проекте

Мобильное OEM/white-label приложение: бонусная программа, маркетплейс, мессенджер, видео- и аудиозвонки на WebRTC, push-уведомления, оплата картой. Одна кодовая база на платформу собирается под несколько брендов. Кодовая база ~100k+ строк, 12+ интегрированных backend-сервисов.
А также другие приложения аналогичной тематики.

Чем предстоит заниматься

Развивать фичи: мессенджер, звонки, бонусы, маркетплейс, сертификаты, платежи и другие сервисы.
Чинить и оптимизировать критичные участки: стабильность WebSocket, жизненный цикл звонков, производительность длинных списков
Интегрировать новые backend-сервисы.
Поддерживать white-label сборки под разные бренды.
Работать с реалтайм-стеком: WebRTC, WebSocket, push (на iOS — APNs + VoIP-push)
Участвовать в код-ревью и развитии архитектуры.

Личные качества и подход к работе

Увлечённость продуктом. Не просто «закрываем тикеты», а живой интерес к тому, что делаем: сами пользуемся приложением, понимаем боль пользователей, предлагаем улучшения, замечаем баги и шероховатости до того, как их найдёт QA или пользователь.
Доступность и вовлечённость. Гибкий график, но при этом готовность оперативно включаться в критичных ситуациях (продакшен-инцидент, релиз, согласование на стыке iOS/Android/бэкенда), быть на связи в рабочих чатах и не «пропадать» надолго без предупреждения. Ценим людей, которые хотят быть в контексте.
Ответственность за результат. Доводим задачи до прода и наблюдаем, как они работают, а не «передали в QA — забыли».

Что мы ожидаем (общее для обеих платформ)

Коммерческий опыт мобильной разработки от 3 лет.
От 1,5 лет в продакшене на современном декларативном UI: Jetpack Compose или SwiftUI.
Уверенный язык платформы: Kotlin или Swift 5.7+ — корутины / async-await, structured concurrency, actors / @MainActor / main-dispatcher, отмена задач, thread-safety
HTTP-клиент платформы (Retrofit + OkHttp / URLSession): кастомные заголовки авторизации, несколько параллельных клиентов, refresh-токены, обработка ошибок и rate limiting
WebSocket в проде: переподключение с бэкоффом, heartbeat, обработка разрывов
Интеграция WebRTC для видео/аудио-звонков.
Push: регистрация и обработка в foreground / background / killed-state.
Безопасное хранение токенов (Keychain / DataStore), JWT/OAuth refresh-флоу, без логирования PII и токенов.
Сборки под несколько брендов из одного кода (Gradle Kotlin DSL / xcconfig), управление зависимостями (Gradle / CocoaPods)
Работа с адресной книгой
Работа с фото и файлами
Платежи и 3DS
Применение WebView
Combine / StateFlow на сложных реактивных пайплайнах

Android

Kotlin (official code style), Java 11
Jetpack Compose, Material 3 (без XML-вёрстки)
MVI, многомодульный Gradle (core/*, feature/*/api, feature/*/impl)
Koin (или другой DI с готовностью переучиться)
Retrofit 2.9, OkHttp 4.11, Kotlinx Serialization, кастомные Interceptor'ы
Compose Navigation, в том числе вложенные графы
Firebase Cloud Messaging + RuStore Messaging
Публикация в RuStore / Google Play/

iOS

Swift 5.7+, SwiftUI в продакшене + UIKit-интероп (UIViewRepresentable, UIViewControllerRepresentable)
Swift Concurrency: async/await, Task, actors, @MainActor, nonisolated; понимание разницы Task { } vs DispatchQueue.main.async vs MainActor.run vs assumeIsolated; базовый GCD
URLSessionWebSocketTask или Starscream, кастомный heartbeat
APNs + PushKit (VoIP push), CallKit (CXProvider, CXCallController), обработка didActivate / didDeactivate audioSession
AVAudioSession (.playAndRecord, порты), AVCaptureDevice, разрешения на микрофон / камеру
Keychain (KeychainAccess или Security framework), биометрия, ATS, certificate pinning (плюс)
CocoaPods, xcconfig для OEM-сборок
Instruments (Time Profiler, Allocations, Leaks, Network), символикация и .dSYM, os_log / OSLog
Публикация в App Store/

Будет плюсом

Интеграция аналитики и crash-reporting: Firebase, AppMetrica, Sentry

Ключевые навыки (теги для hh.ru)
Kotlin, Swift, iOS, Android, Jetpack Compose, SwiftUI, Coroutines, Swift Concurrency, MVI, WebRTC, WebSocket, Retrofit, OkHttp, URLSession, CallKit, PushKit, APNs, FCM, Keychain, CocoaPods, Gradle, Koin, Git, Material 3, UIKit, AVFoundation