Старший iOS разработчик (Swift)
Старший iOS разработчик нужен для создания мультисервисной платформы заказа поездок в Африке. Вы будете разрабатывать приложения для клиентов и водителей с нуля, включая функции реального времени, офлайн-режимы, платежи и безопасность. Требуется 5+ лет опыта на Swift, знание Core Location, Socket.IO и Google Maps SDK. Проект долгосрочный, с сильной командой и четким процессом.
Что предстоит делать
<h3><b>О проекте</b></h3><p><b>Это </b>многосервисная платформа для райдхейлинга и мобильности, запускающаяся в Африке. Платформа объединяет стандартный райдхейлинг, междугородние поездки, трансферы из/в аэропорт, аренду автомобилей, управление автопарком и fintech-кошелек, обслуживая город с населением более 10 миллионов человек, где существует огромный спрос на надежный транспорт с цифровыми возможностями.</p><p>Это не типичное приложение для такси. Платформа работает в одной из самых технически сложных сред в мобильной разработке: бюджетные Android-устройства (2 ГБ ОЗУ), ненадежные сети 2G/3G, дрейф GPS 50–200 м, операции с преобладанием наличных (40–50% поездок) и база пользователей, говорящих на нескольких языках и имеющих разный уровень грамотности. Каждое архитектурное решение должно учитывать эти реалии.</p><p>Вы станете частью выделенной команды из 8 инженеров, создающих как приложение для клиентов, так и приложение для водителей, работая вместе с командой бэкенда на NestJS, разработчиком административной панели на Next.js, QA-инженером, дизайнером и PM/BA. Проект нацелен на <b>запуск в ноябре 2026 года</b>.</p><h3><b>Что вы будете создавать</b></h3><ul><li><b>Реализовывать полный жизненный цикл поездки</b> (бронирование, назначение водителя, отслеживание в пути, завершение, оценка) в приложениях для клиентов и водителей</li><li><b>Создавать функции реального времени: </b>отслеживание местоположения водителя в реальном времени (Socket.IO), отрисовка карты (Google Maps SDK), анимация в пути с использованием фильтра Калмана для компенсации дрейфа GPS</li><li><b>Интегрировать платежные потоки: </b>Flexi-Pay mobile money (STK Push с двойным подтверждением — вебхук + опрос как запасной вариант), встроенный кошелек, отслеживание комиссий за наличные</li><li><b>Реализовывать offline-first паттерны: </b>локальная очередь SQLite для запросов на поездку при обрыве соединения, буферизация трека GPS при потере связи во время поездки, корректная деградация функциональности на всех экранах</li><li><b>Создавать потоки бронирования для нескольких услуг: </b>стандартные поездки, запланированные поездки, междугородние бронирования, трансферы из/в аэропорт, почасовая/дневная аренда</li><li><b>Реализовывать функции SOS и безопасности: </b>кнопка экстренного вызова в одно касание (всегда доступна, никогда не перекрывается), передача местоположения, триггеры записи поездки</li><li><b>Интегрировать push-уведомления</b> с цепочкой запасных вариантов: FCM/APNs → WhatsApp → SMS (таймаут 60 секунд на уровень)</li><li><b>Поддерживать многоязычный интерфейс: </b>французский (основной), лингала, английский — макеты должны адаптироваться к расширению текста без обрезания на критически важных CTA</li><li><b>Участвовать в двухнедельных демо на физических устройствах</b> и сотрудничать с QA по тестированию матрицы покрытия устройств (целевые устройства: Tecno Camon, Infinix Hot, Samsung A-series)</li><li><b>Работать в рамках модели поставки, привязанной к вехам,</b> с критериями приемки для каждой вехи и структурированным процессом ревью кода</li></ul><h3><b>iOS-специфичные обязанности</b></h3><ul><li><b>Проектировать архитектуру iOS-кодовой базы</b> с использованием MVVM-C или Clean Architecture, с четким разделением между UI, доменной логикой и уровнями данных</li><li><b>Реализовать вход через Apple ID</b> (Apple Guideline 5.1.1 — обязательно) вместе с регистрацией по номеру телефона</li><li><b>Оптимизировать для iPhone SE и старых устройств: </b>эффективное управление памятью, ленивая загрузка, минимальная глубина иерархии представлений</li><li><b>Реализовать фоновое отслеживание местоположения для приложения водителя: </b>мониторинг значительных изменений местоположения Core Location, управление фоновыми задачами, энергоэффективное обновление позиции каждые 4 секунды</li><li><b>Обрабатывать push-уведомления APNs</b> с поддержкой rich-уведомлений (обновления статуса поездки, подтверждения оплаты, оповещения SOS)</li><li><b>Реализовать App Transport Security и certificate pinning</b> для платежных и аутентификационных эндпоинтов</li><li><b>Управлять процессом отправки и ревью в App Store: </b>метаданные, скриншоты, метки конфиденциальности, соблюдение правил ревью</li><li><b>Координировать работу с Android-разработчиком</b> по общим API-контрактам, паритету функций и единообразному UX-поведению на обеих платформах</li></ul><h3><b>Требования</b></h3><ul><li><b>5+ лет профессиональной iOS-разработки на Swift</b> (не только Objective-C)</li><li>Уверенный опыт работы с Core Location, режимами фонового выполнения и приложениями с интенсивным использованием GPS</li><li><b>Подтвержденный опыт работы с функциями реального времени: </b>WebSocket / Socket.IO, обновления карты в реальном времени, потоковая передача местоположения</li><li><b>Опыт работы с Google Maps SDK для iOS</b> или MapKit с пользовательскими наложениями и кластеризацией маркеров</li><li><b>Хорошее понимание offline-first паттернов: </b>локальное сохранение (SQLite / Core Data), очереди синхронизации, разрешение конфликтов</li><li><b>Опыт интеграции платежей</b> или финансовых потоков в мобильных приложениях (управление состоянием транзакций, идемпотентность)</li><li><b>Серьезный подход к модульному и UI-тестированию</b> (XCTest, минимальное покрытие 70%)</li><li><b>Опыт работы с CI/CD для iOS: </b>Fastlane, GitHub Actions, распространение через TestFlight</li><li><b>Комфортная работа на английском языке</b> (ежедневное общение с распределенной командой)</li></ul><h3><b>Будет плюсом</b></h3><ul><li>Опыт работы с платформами райдхейлинга, логистики или on-demand</li><li>Знакомство с африканскими системами мобильных платежей (M-Pesa, Orange Money, Airtel Money)</li><li>Опыт создания приложений для развивающихся рынков (offline-first, низкая пропускная способность, бюджетные устройства)</li><li>Знание французского языка (рабочий язык клиента и конечных пользователей)</li><li>Опыт работы с Mapbox или кэшированием офлайн-тайлов OpenStreetMap</li></ul><h3><b>Техническое окружение</b></h3><ul><li><b>Бэкенд: </b>Node.js 20 LTS / NestJS, REST API (версионированные), Socket.IO для реального времени</li><li><b>Базы данных: </b>MongoDB (операционные), PostgreSQL (финансовые), Redis (кэширование, сессии, местоположения водителей)</li><li><b>Инфраструктура: </b>GCP (Cloud Run, Cloud SQL, Pub/Sub, Memorystore) — регион africa-south1</li><li><b>Карты: </b>Google Maps SDK (Фаза 1), база данных ориентиров для зон со слабым покрытием</li><li><b>Платежи: </b>Flexi-Pay (агрегатор mobile money), Onafriq (вторичный), встроенный кошелек с двойной бухгалтерией</li><li><b>Обмен сообщениями: </b>Twilio (WhatsApp Cloud API + SMS), FCM/APNs</li><li><b>CI/CD: </b>GitHub, автоматизированные проверки PR, поэтапный rollout по коммунам</li><li><b>Дизайн: </b>Figma, библиотека компонентов с дизайн-системой "Warm Trust" (высокий контраст, читаемость на улице, цели касания 48dp)</li></ul><h3><b>Что мы предлагаем</b></h3><ul><li><b>Технически сложный проект с высоким влиянием</b> — вы создаете платформу, которая будет обслуживать миллионы людей на рынке, где надежный транспорт меняет жизни</li><li><b>Полное владение стеком</b> — вы владеете мобильной кодовой базой от начала до конца, от архитектуры до доставки в App Store</li><li><b>Сильная, опытная команда</b> — лидер бэкенда с 10+ годами опыта, опытный PM/BA с опытом в райдхейлинге, выделенный QA</li><li><b>Структурированный процесс поставки</b> — привязка к вехам, двухнедельные демо, четкие критерии приемки — никакого хаоса</li><li><b>Долгосрочное сотрудничество</b> — проект на 6+ месяцев с дорожной картой Фазы 2 (USSD, расширенная аналитика, портал владельца автопарка, расширение на несколько стран)</li></ul> <div> <a href="https://jobs.dou.ua/companies/brocoders/vacancies/362429/#reply-btn-id">Відгукнутись на вакансію</a> </div>
Стек и инструменты
Подходит ли вам эта вакансия?
Зарегистрируйтесь и загрузите резюме — посчитаем % совпадения с этой вакансией, подсветим сильные стороны и что стоит подтянуть
Похожие вакансии
6 вакансийСтарший iOS разработчик (Swift/Flutter)
Ищем опытного iOS разработчика для поддержки и развития приложений под iOS и macOS. Требуется глубокое знание Apple MDM SDK и экосистемы Apple. Компания предлагает удаленную работу, конкурентную зарплату и возможности для профессионального роста.
Старший iOS разработчик (Swift)
~1 957 560 – 3 670 425 ₸ оценка
Проектная позиция для опытного iOS-разработчика на Swift. Нужно создавать приложения с нуля, используя Vision framework и Core Data. Предлагают гибкий график и работу в команде профессионалов.
Разработчик IOS (Swift)
~1 304 550 ₸ оценка
Ищем опытного iOS-разработчика для развития мобильного приложения Ecom. Требуется уверенное знание Swift и SwiftUI, опыт работы с архитектурами и CI/CD. Предлагаем удаленную работу или офис в Москве, официальное оформление и соцпакет.
iOS Engineer Senior
Uklon шукає Senior iOS Engineer для роботи над фінансовими продуктами та програмою лояльності. Потрібен досвід 5+ років, знання SwiftUI, UIKit, Combine та MVVM-C. Компанія пропонує гнучкий графік, медичне страхування, навчання та річний бонус.
iOS-разработчик
~1 304 550 ₸ оценка
Ищем опытного iOS-разработчика для работы над мессенджером ВКонтакте. Требуется от 3 лет опыта, уверенное владение Swift и Objective C, знание UIKit и опыт работы с многомодульными проектами. Предстоит заниматься как продуктовыми, так и техническими задачами в крупной команде.
Senior iOS Developer
~1 957 560 – 3 670 425 ₸ оценка
Ищем опытного iOS-разработчика уровня Senior для удаленной работы. Требуется знание Swift и опыта в мобильной разработке. Предлагаем полную занятость.