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