В связи с открытием нового направления в разработке ищем инициативных сотрудников на проект. Готовы рассмотреть различные варианты сотрудничества.
Требования к вакансии 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; По договорённости
-
Возможна подработка;
-
Возможность карьерного роста;
-
Офис в Центральном районе;
Важно: Рассматриваем и кандидатов с небольшим опытом, но с огромным желанием развиваться в профессии.
Ключевые навыки
- JavaScript
- Java
- Android
- Git
- UI
- REST API
- Bluetooth
- JSON
- Android Studio
- koltin
- UI тесты
- XML
- Kotlin
- CI/CD процессов
- work manager