{"id":591356,"url":"https://alion.io/job/usolutions-android-razrabotchik","title":"Android-разработчик","company":{"id":455540,"name":"Universalnye Resheniya","domain":"usolutions.su","url":"https://alion.io/company/usolutions-2","size_band":"1-10","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"HeadHunter","truth_index":null},"role":"Mobile","role_family":"Mobile","seniority":null,"employment_type":"full_time","work_mode":"hybrid","remote_scope":null,"remote_scope_basis":null,"remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Voronezh, Russia"],"countries":["RU"],"hiring_countries":[],"hiring_countries_total":0,"salary":null,"salary_estimate":{"min_usd":14000,"max_usd":39000,"period":"year","method":"role_country_seniority_unknown","sample_n":64},"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"CI/CD","optional":false},{"name":"Git","optional":false},{"name":"Gradle","optional":false},{"name":"Java","optional":false},{"name":"JavaScript","optional":false},{"name":"Jetpack Compose","optional":false},{"name":"Kotlin","optional":false},{"name":"Material Design","optional":false},{"name":"Rest API","optional":false},{"name":"CameraX","optional":true},{"name":"GitHub","optional":true},{"name":"Room","optional":true},{"name":"WebSockets","optional":true},{"name":"WorkManager","optional":true}],"status":"live","first_seen_at":"2026-10-10T09:40:17Z","employer_posted_date":"2026-10-10","last_verified_at":"2026-10-27T09:21:27Z","board_verified":true,"closed_at":null,"days_open":18,"trust":{"level":"ok","repost_count":1,"flags":[],"days_open":17},"description":"В связи с открытием нового направления в разработке ищем инициативных сотрудников на проект. Готовы рассмотреть различные варианты сотрудничества.\nТребования к вакансии Android-разработчика (с фокусом на Bluetooth/BLE, фоновые процессы, оффлайн-режим работы с сервером через REST API)\n Базовые технические требования\n Языки: уверенное владение Java (обязательно), знание Kotlin - плюс .\n\n Среда и инструменты: Android Studio, Gradle, Git, понимание CI/CD-процессов.\n\n Архитектура: умение перемещать задачи в фоновые процессы и реализовывать обмен данными с foreground-сервисами, умение проектировать поддерживаемый код.\n\n UI: работа с View/XML, Jetpack Compose; соблюдение Material Design, адаптивная вёрстка под разные экраны.\n\n Данные и сеть: Умение кэшировать данные и реализовывать оффлайн-режим, работа с REST API, JSON.\n\n Работа с устройством : Работа с Bluetooth и BLE, датчиками устройства (желательно) и камерой (желательно)\n\n Тестирование: желательно умение самостоятельно писать и применять юнит- и UI-тесты.\n\n Специализированные требования\n Работа с Bluetooth и BLE\n Практический опыт интеграции BLE-устройств: сканирование, подключение, чтение/запись характеристик и дескрипторов.\n\n Понимание жизненного цикла BLE-сессий, обработка разрывов соединения, переподключения и ошибок.\n\n Умение работать с Android Bluetooth API, управление разрешениями под актуальные версии Android (включая Android 12+ и ограничения на доступ к местоположению/Bluetooth).\n\n Фоновые процессы и работа приложения в фоне\n Уверенное использование современных инструментов Android для фоновых задач: WorkManager, Foreground Services, AlarmManager (где уместно).\n\n Понимание ограничений фоновой работы в современных версиях Android (Doze Mode, App Standby, лимиты на запуск сервисов).\n\n Умение проектировать сценарии, которые стабильно работают при перезапусках системы, убийства процесса системой и смене состояния устройства.\n\n Опыт реализации уведомлений для foreground-сервисов, корректной обработки жизненного цикла сервисов и связи с UI.\n\n Работа с REST API и обеспечение работы при нестабильном соединении и в оффлайн-режиме\n Уверенная работа с REST API: отправка запросов, обработка JSON-ответов, валидация структуры данных.\n\n Реализация механизмов повторных попыток (retry) и экспоненциальной задержки при временных сбоях сети.\n\n Проектирование и реализация стратегии кэширования данных.\n\n Использование Room (или иной локальной БД) для хранения данных с поддержкой синхронизации.\n\n Корректная обработка ошибок сети и таймаутов, отображение пользователю понятных состояний (нет сети, ошибка сервера, данные из кэша) и возможность ручного запуска синхронизации.\n\n Работа с датчиками устройства (опционально)\n Опыт работы с Sensor API: акселерометр, гироскоп, магнитометр, датчик освещённости, приближения и др.\n\n Реализация фильтрации и базовой обработки сырых данных (скользящее среднее, фильтрация шумов) - как плюс.\n\n Работа с камерой (опционально)\n Практический опыт реализации функционала камеры через CameraX (предпочтительно) либо Camera2 API.\n\n Дополнительные требования\n Кросс-версионная совместимость: опыт поддержки нескольких версий Android, тестирования на разных устройствах (планшеты и смартфоны).\n\n Английский: чтение документации Android, библиотек и спецификаций протоколов.\n\n Портфолио: наличие примеров проектов с BLE, фоновыми сервисами и WebSocket (GitHub/демо) - сильный плюс. Условия:\n\n Трудоустройство по ТК РФ, ИП, Самозанятые;\n График работы: 5/2 с 08:00 до 17:00; По договорённости\n\n Возможна подработка;\n\n Возможность карьерного роста;\n\n Офис в Центральном районе;\nВажно: Рассматриваем и кандидатов с небольшим опытом, но с огромным желанием развиваться в профессии.","description_format":"text","description_chars":3688,"description_truncated":false,"requirements":{"experience_years_min":null,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[{"language":"Russian","level":"Advanced (C1)","optional":false}]},"benefits":[],"hiring_locations":[{"name":"Russia","iso":"RU","kind":"country"}],"hiring_excludes":[],"relocation_offered":false,"industries":["IT Consulting & Digital Transformation","Custom Software Development"],"lifecycle":[{"event":"open","at":"2026-09-10T12:05:19Z"},{"event":"6","at":"2026-10-10T09:40:17Z"}],"visa":[],"liveness":{"score":68,"band":"ok","label":"Likely open","p_open":1,"p_active":0.755,"p_room":0.9,"age_days":17,"expected_fill_days":26,"reasons":["conf:20","win:mid"],"computed_at":"2026-10-28T05:59:10Z"},"pay":null,"html_url":"https://alion.io/job/usolutions-android-razrabotchik","json_url":"https://alion.io/job/usolutions-android-razrabotchik.json","meta":{"generated_at":"2026-10-29T02:10:31Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler_verified","counted_by":"address","units_charged":1,"used_today":3257,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-30T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":455540},"rest":"https://alion.io/mcp/rest/get_company?id=455540"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fusolutions-android-razrabotchik"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Fusolutions-android-razrabotchik"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Fusolutions-android-razrabotchik"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/usolutions-android-razrabotchik\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fusolutions-android-razrabotchik"}],"agent":{"mcp":"https://alion.io/mcp/jobs","mcp_open":"https://alion.io/mcp/open","next":[{"tool":"get_job","arguments":{"id":591356}},{"tool":"search_jobs","arguments":{"company":"usolutions.su","detail":"compact"}},{"tool":"match_people","arguments":{"job_id":591356},"note":"people open to offers who fit this vacancy"}],"note":"The same data through MCP tools: https://alion.io/mcp/open needs no sign-in (compact searches, postings, people); https://alion.io/mcp with an Alion account has everything. Docs: https://alion.io/developers"}}