Город: ОАЭ
Занятость: Полная, 5/2
Опыт работы: Более 6 лет
Дубайская компания ZORTE, расположенная в Jumeirah Lakes Towers (JLT), специализирующаяся на торговле, лифтами, роботизированные подъемные механизмы, продажи и эксплуатация.
Senior React Native Developer (Контракт)
Контрактная роль по созданию совершенно нового мобильного приложения (iOS и Android) с нуля. Вы будете работать самостоятельно и полностью отвечать за весь мобильный код проекта — от первоначальной настройки и архитектуры до публикации в App Store и Google Play.
Это клиентская роль с сильным акцентом на карты: вы не будете разрабатывать backend, но приложение будет активно взаимодействовать с API. Вам предстоит реализовывать такие функции, как обмен геолокацией в реальном времени и отображение маршрутов, генерируемых сервером, на карте. Ключевыми для этой роли являются навыки работы с картами, геолокацией и интеграцией API.
- Требуемый опыт работы: от 5 лет
- Работа в офисе компании. Полная занятость.
- Местоположение: Дубай, Джумейра Лейкс Тауэрс (JLT)
- Заработная плата: по результатам собеседования, с испытательным сроком 3 месяца.
- Работа в нашем частном офисе, где мы работаем в тесном сотрудничестве с небольшой командой преданных своему делу профессионалов. Мы предлагаем благоприятную и совместную рабочую среду в европейской компании.
Требования
- Более 5 лет опыта мобильной разработки с глубоким и актуальным опытом работы с React Native.
- Подтвержденный опыт публикации приложений в Apple App Store и Google Play Store (необходимо предоставить ссылки на проекты/портфолио).
- Опыт создания и запуска как минимум одного приложения с нуля, а не только поддержки существующих проектов.
- Способность работать полностью самостоятельно с минимальным контролем.
- Дисциплинированный подход к работе по спецификациям: вся работа отслеживается через GitHub Issues — вы отвечаете не только за код, но и за планирование и управление задачами.
- Экспертное владение JavaScript (ES6+) и TypeScript.
- Глубокое понимание нативных модулей и взаимодействия JSnative для iOS (Swift/Obj-C) и Android (Kotlin/Java).
- Уверенное понимание архитектуры приложений: настройка проекта, управление состоянием (Redux Toolkit, Zustand, Context или аналогичные решения), навигация с чистого листа.
- Полная ответственность за релиз: code signing, provisioning profiles, публикация через App Store Connect и Google Play Console, настройка мобильного CI/CD (Fastlane, EAS и т.п.).
- Профилирование и оптимизация производительности (скорость запуска, рендеринг списков, использование памяти, стабильность без сбоев).
- Дисциплина в автоматизированном тестировании и отладке.
- Владение Git и навыки письменной коммуникации для удаленной асинхронной работы.
Карты, геолокация и данные в реальном времени (основная часть роли)
- Практический опыт работы с картами и геопространственными интерфейсами: react-native-maps, Mapbox или аналогичные решения — отображение маркеров в реальном времени, построение маршрутов и полилиний, создание плавного и производительного интерфейса, ориентированного на карты.
- Работа с геолокацией устройства: запрос разрешений, получение GPS-данных (широта/долгота, направление движения, скорость, точность), включая энергоэффективное отслеживание в фоновом режиме или во время движения, а не только разовые запросы на переднем плане.
- Работа с данными в реальном времени: WebSockets, SSE или polling для передачи геолокации на сервер и получения обновлений с плавным обновлением интерфейса и грамотным управлением состоянием.
- Отображение сложных динамических данных, получаемых от сервера: маршруты, последовательности остановок, расписания, доступность водителей, ETA (ожидаемое время прибытия), пошаговая навигация.
- Глубокий опыт интеграции REST и/или GraphQL API в production-проектах: загрузка данных, обработка ошибок, повторные попытки, кэширование и корректная работа при плохом или отсутствующем соединении.
- Интеграция AI/LLM API на клиентской стороне: работа с потоковыми ответами, переменной задержкой, структурированными и неструктурированными данными, а также обработка ошибок.
Процесс разработки и управление проектом (обязательно)
- Перед реализацией любой функции составляет четкую спецификацию/план: объём работ, подход и критерии приемки согласовываются до написания кода.
- Работа начинается только после утверждения спецификаций и задач.
- Управляет всей работой через GitHub Issues: разбивает проект на понятные задачи, оценивает их трудозатраты, поддерживает актуальность статусов и связывает коммиты/PR с задачами.
- Работает небольшими PR, удобными для ревью, с осмысленными описаниями вместо крупных пакетов изменений.
- Поддерживает чистую и понятную историю Git, а также базовую документацию проекта (README, инструкции по запуску, архитектурные заметки).
- Регулярно предоставляет асинхронные отчеты о прогрессе по задачам.
Качество и использование ИИ
- Использование AI-инструментов приветствуется, но ответственность за результат полностью лежит на разработчике. Любой код должен быть проверен, понят и протестирован вами.
- «AI-мусор» не принимается: шаблонный код, не соответствующий проекту, выдуманные API, непроверенные PR или спецификации, выглядящие как необработанный вывод ИИ. Вы несете ответственность за качество всего, что отправляете.
Желательно иметь
- Опыт работы с Expo / EAS.
- Опыт работы с новой архитектурой React Native (Fabric, TurboModules).
- Инструменты мониторинга ошибок и производительности (Sentry, Firebase Crashlytics).
- Push-уведомления и deep linking.
- Комфортная работа в асинхронном взаимодействии с небольшой командой основателей/продуктовой командой.
Условия и организационные моменты
- Весь код и интеллектуальная собственность передаются компании (work-for-hire / assignment), действует NDA.
- Приложения публикуются через аккаунты Apple Developer и Google Play компании-заказчика, а не подрядчика.
- Знание требований магазинов приложений для приложений с геолокацией: политика конфиденциальности, раскрытие информации о данных, обоснование использования фоновой геолокации (частая причина отклонения приложения).
- Полноценная передача проекта: документация, учетные данные и поддерживаемая кодовая база, которую сможет подхватить другой разработчик.
Как подать заявку
- Ссылки на опубликованные приложения в App Store и/или Google Play.
- Ссылка на ваш профиль GitHub.
- Краткое описание вашего опыта работы с картами, геолокацией и API-нагруженными проектами.
- Примеры проектов с картами или отслеживанием геолокации значительно повышают шансы: опубликованные приложения, проекты или примеры кода.
Адрес: эмират Дубай, Хадаэк Мухаммед Бин Рашид, Эс Санйа, Эс Санйа 5, Джумейра Лейкс Тауэрс
Похожие вакансии