Обязанности
•Разработка новых экранов и сценариев мобильного банка на SwiftUI.
•Кредитные продукты: онлайн-заявки на кредит, кредитный калькулятор, график платежей, досрочное и частичное погашение, просрочка и уведомления о платежах.
•Депозитные продукты: открытие и пополнение депозитов, калькулятор доходности, начисление процентов, пролонгация и досрочное закрытие.
•Подписание договоров и оферт в приложении, подтверждение операций через OTP и биометрию.
•Интеграция с API бэкенда, участие в проектировании контрактов.
•Поддержка и рефакторинг существующего кода, повышение стабильности и производительности.
•Code review, участие в планировании и оценке задач.
Требования
•Опыт коммерческой мобильной разработки от 3 лет и минимум 1–2 приложения в App Store, желательно с большой аудиторией.
•Уверенное знание архитектурных подходов MVVM, MVI, Clean Architecture, понимание модульности и разделения на feature-модули.
•Работа с сетью: REST, JSON, обработка ошибок, ретраи, пагинация; плюсом будут WebSocket или gRPC.
•Понимание безопасности мобильных приложений: certificate pinning, безопасное хранение токенов, биометрия, обфускация, защита от jailbreak.
•Работа с OAuth2/OpenID Connect (refresh-токены, PKCE).
•Unit- и UI-тестирование, понимание пирамиды тестов.
•CI/CD для iOS (Fastlane, GitLab CI или GitHub Actions), подписание сборок, релизы в App Store.
•Git, code review, работа по Scrum/Kanban в Jira.
•Опыт с аналитикой и крашрепортингом (Firebase Crashlytics, Sentry, AppMetrica).
•Умение обсуждать API-контракт с бэкендом.
Стек iOS
•Отличное знание Swift: структуры против классов, протоколы, generics, управление памятью (ARC, retain cycles).
•Swift Concurrency (async/await, actors, Task) и понимание GCD.
•SwiftUI как основной инструмент UI, плюс знание UIKit для поддержки legacy и сложных экранов.
•Combine или Observation framework.
•SPM для управления зависимостями и модуляризации.
•Keychain, LocalAuthentication (Face ID / Touch ID), App Transport Security.
•Core Data, SwiftData или Realm.
•XCTest и XCUITest; плюсом snapshot-тесты.
•Знание App Store Review Guidelines, TestFlight и App Store Connect.
•Push-уведомления (APNs), deep links, universal links.
Банковская специфика
•Корректная работа с денежными суммами: Decimal вместо Double, правила округления, форматирование сумм и валют.
•Понимание базовых банковских расчётов: аннуитетный и дифференцированный платёж, простые и сложные проценты, капитализация.
•Многошаговые формы и визарды заявок с валидацией, сохранением черновика и восстановлением состояния.
•Работа с документами в приложении: просмотр PDF договоров, графиков платежей и выписок (PDFKit).
•Сценарии подтверждения операций: OTP/SMS, Face ID / Touch ID, PIN-код, повторная аутентификация для чувствительных действий.
•Понимание требований регулятора к безопасности и защите персональных данных, готовность проходить внутренний аудит и пентесты.
•Аккуратная обработка ошибок и состояний (таймауты, повторная отправка, идемпотентность), чтобы операция не выполнилась дважды.
Будет плюсом
•Опыт в банкинге или финтехе: кредитные и депозитные продукты, платёжные флоу, P2P-переводы, NFC, 3-D Secure.
•Kotlin Multiplatform (интеграция общего модуля в iOS-проект).
•Знание OWASP MASVS.
•Feature flags и A/B-тестирование.
•Server-driven UI.
•Опыт менторства и проведения технических интервью (для Senior).