Разработчик мобильного приложения (Android - Kotlin, iOS - Swift) (удаленная работа)

3 июля 2026

Уровень зарплаты:
з.п. не указана
Требуемый опыт работы:
Не указан

Вакансия: Разработчик мобильного приложения (Android - Kotlin, iOS - Swift)

Описание вакансии

Ищем в команду опытного full stack mobile developer.

Мы в KonnektU разрабатываем CRM (мобильное приложение) для фармацевтических компаний (медицинских представителей) для организации их работы, автоматизации бизнес-процессов (планирование и проведение визитов к врачам и в аптеки, анкеты, согласия и договоры, фото/GPS, отчётность) в офлайн-режиме.

Имеем государственную аккредитацию в области ИТ, являемся партнером MTC и резидентами Сколково.

ЗАДАЧИ:

  • Разработка и поддержка двух нативных приложений (Android на Kotlin, iOS на Swift) написание нового кода, доработка существующего, обеспечение паритета функциональности между платформами. Зрелая кодовая база, продуту 4 года
  • Работа с offline-first слой и синхронизацией (локальная Б Д Realm, выгрузка/загрузка изменений, конфликты, целостность данных)
  • Реализация сервер-driven UI приём конфигураций с сервера, динамическое построение форм/экранов, валидаций, навигации без перевыпуска приложения.
  • Интеграция с локальной базой данных проектирование объектной модели, миграции, оптимизация запросов.
  • Интеграция с веб-контентом использование WebView (WKWebView) для отображения HTML-форм, организация мостов (бриджей) между JavaScript и нативным кодом для доступа к локальным данным и вызова нативных функций.
  • Взаимодействие с бэкендом описание и согласование API (желательно через OpenAPI/Swagger), использование моков для параллельной разработки, генерация клиентских моделей.
  • Обеспечение безопасности хранение токенов в Keychain/KeyStore, подпись запросов, TLS, защита от повторов (опыт с кастомным шифрованием для Bluetooth-протокола приветствуется).
  • Тестирование написание unit-тестов (бизнес-логика, валидаторы) и UI-интеграционных тестов (сквозные сценарии на симуляторах с моками сервисов).
  • Участие в архитектурных решениях выбор паттернов (MVP, MVVM, VIPER), организация слоёв (репозитории, use cases), адаптация под современные фреймворки (SwiftUI, Compose, App Intents).
  • Работа с публикацией сборка, подпись, выкладка (процесс уже отлажен, но требуются знания).
  • Поддержка существующего кода правка багов, рефакторинг, перенос фич с одной платформы на другую.
  • Коммуникация участие в обсуждении требований с аналитиками, продактом, проджектами.
  • Отслеживание трендов оценка кроссплатформенных решений (Flutter, KMP) и их применимость для продукта.
ТРЕБОВАНИЯ:
  • Коммерческий опыт разработки от 5 лет
  • Android : Kotlin, UI-фреймворк: Jetpack Compose (предпочтительно), знание старого стека (Java + XML) не критично, но приветствуется.
  • iOS: Swift (включая SwiftUI), UIKit: Auto Layout, Storyboards/XIB, навигация, кастомные ячейки и контролы, жизненный цикл ViewController.
  • Сеть и работа с API: REST. iOS: URLSession / Alamofire. Android: OKHttp / KTOR (знание KTOR приветствуется как кросс-платформенное решение). Парсинг: JSON (Codable/ObjectMapper). Авторизация: OAuth2/JWT, управление refresh-токенами, хранение секретов (Keychain / KeyStore).
  • Базы данных и offline-first : Опыт с Realm или Core Data (готовность быстро перейти на Realm). Понимание: миграций, многопоточности важно).
  • Синхронизация данных: Механизмы: dirty-флаги, версионирование, различие серверных и локальных id. Разрешение конфликтов. Устойчивость к обрывам сети (retry, очередь запросов).
  • Многопоточность: iOS: GCD / Swift Concurrency. Android: корутины / Flow.
  • Архитектура: MVVM. Понимание сильных и слабых сторон: MVP, MVC.
  • Безопасность: Keychain (iOS) / KeyStore (Android). TLS, подпись запросов.
  • Сборка и CI/CD: Опыт white-label / мульти-таргет приложений (xcconfig, ресурсы, фиче-флаги). Инструменты: fastlane, Jenkins / GitLab CI, OTA-дистрибуция.
  • Юнит- и UI-тестирование.
  • Кросс-платформенная разработка: KMP / Flutter (приветствуется).
  • Менеджеры зависимостей: CocoaPods / SPM (iOS), Gradle (Android).
  • Работа с: PDF / Excel / диаграммами, Core Location / MapKit, CameraKit.
  • Аналитика: AppMetrica / Firebase.
  • Предметная область (будет плюсом): Опыт в CRM / field-force; медицина; финтех.

Дополнительные технические навыки (важные для продукта):

  • Server-driven UI: опыт реализации динамических форм по конфигурации с сервера.
  • Realm (RealmSwift) в продакшене (включая миграции и динамический/DynamicObject API).
  • WKWebView + JS-мост (WKScriptMessageHandler, evaluateJavaScript, инъекция user-scripts), server-driven UI / BDUI.
  • Офлайн-синхронизация: опыт проектирования фоновых задач, очередей, разрешения конфликтов при слабой связи.
  • Работа с OpenAPI / Swagger: генерация клиентских моделей, использование спецификаций для параллельной разработки.
  • Тестирование : JUnit / XCTest, Espresso / XCUITest, моки, стабы.
  • Инструменты: Git, CI/CD (опыт с настройкой сборки приветствуется), Ansible (для DevOps-задач).
  • Кроссплатформенность: понимание плюсов/минусов Flutter vs KMP vs натив;

УСЛОВИЯ:

  • работа с интересным продуктом в ИТ компании;
  • современный стек, грамотная команда, отлаженные процессы;
  • официальное трудоустройство согласно ТК РФ (оформление трудовых отношений только по трудовому договору );
  • график работы: гибрид, c 9:00 - 18:00 по МСК;


Посмотрите похожие вакансии

Fullstack разработчик (Middle+), Android/iOS
Компания: SkillStaff
Зарплата: з.п. не указана
Mobile Developer (iOS + Android)
Компания: Maxima.tech
Зарплата: з.п. не указана