Android-разработчик
Описание
В связи с открытием нового направления в разработке ищем инициативных сотрудников на проект. Готовы рассмотреть различные варианты сотрудничества.Требования к вакансии Android-разработчика (с фокусом на Bluetooth/BLE, фоновые процессы, оффлайн-режим работы с сервером через REST API) Базовые технические требования Языки: уверенное владение Java (обязательно), знание Kotlin — плюс . Среда и инструменты: Android Studio, Gradle, Git, понимание CI/CD-процессов. Архитектура: умение перемещать задачи в фоновые процессы и реализовывать обмен данными с foreground-сервисами, умение проектировать поддерживаемый код. UI: работа с View/XML, Jetpack Compose; соблюдение Material Design, адаптивная вёрстка под разные экраны. Данные и сеть: Умение кэшировать данные и реализовывать оффлайн-режим, работа с REST API, JSON. Работа с устройством: Работа с Bluetooth и BLE, датчиками устройства (желательно) и камерой (желательно) Тестирование: желательно умение самостоятельно писать и применять юнит- и UI-тесты. Специализированные требования Работа с Bluetooth и BLE Практический опыт интеграции BLE-устройств: сканирование, подключение, чтение/запись характеристик и дескрипторов. Понимание жизненного цикла BLE-сессий, обработка разрывов соединения, переподключения и ошибок. Умение работать с Android Bluetooth API, управление разрешениями под актуальные версии Android (включая Android 12+ и ограничения на доступ к местоположению/Bluetooth). Фоновые процессы и работа приложения в фоне Уверенное использование современных инструментов Android для фоновых задач: WorkManager, Foreground Services, AlarmManager (где уместно). Понимание ограничений фоновой работы в современных версиях Android (Doze Mode, App Standby, лимиты на запуск сервисов). Умение проектировать сценарии, которые стабильно работают при перезапусках системы, убийства процесса системой и смене состояния устройства. Опыт реализации уведомлений для foreground-сервисов, корректной обработки жизненного цикла сервисов и связи с UI. Работа с REST API и обеспечение работы при нестабильном соединении и в оффлайн-режиме Уверенная работа с REST API: отправка запросов, обработка JSON-ответов, валидация структуры данных. Реализация механизмов повторных попыток (retry) и экспоненциальной задержки при временных сбоях сети. Проектирование и реализация стратегии кэширования данных. Использование Room (или иной локальной БД) для хранения данных с поддержкой синхронизации. Корректная обработка ошибок сети и таймаутов, отображение пользователю понятных состояний (нет сети, ошибка сервера, данные из кэша) и возможность ручного запуска синхронизации. Работа с датчиками устройства (опционально) Опыт работы с Sensor API: акселерометр, гироскоп, магнитометр, датчик освещённости, приближения и др. Реализация фильтрации и базовой обработки сырых данных (скользящее среднее, фильтрация шумов) — как плюс. Работа с камерой (опционально) Практический опыт реализации функционала камеры через CameraX (предпочтительно) либо Camera2 API. Дополнительные требования Кросс-версионная совместимость: опыт поддержки нескольких версий Android, тестирования на разных устройствах (планшеты и смартфоны). Английский: чтение документации Android, библиотек и спецификаций протоколов. Портфолио: наличие примеров проектов с BLE, фоновыми сервисами и WebSocket (GitHub/демо) — сильный плюс.Условия: Трудоустройство по ТК РФ, ИП, Самозанятые; График работы: 5/2 с 08:00 до 17:00; По договорённости Возможна подработка; Возможность карьерного роста; Офис в Центральном районе;Важно: Рассматриваем и кандидатов с небольшим опытом, но с огромным желанием развиваться в профессии.