Android developer
На цікавий проєкт шукаємо розробника для роботи аутстафф з командою стартапу напряму.
Проєкт на 6+ міс. in-vehicle tablet app для збору/стрімінгу/офлайн-зберігання/аплоаду даних у Azure.
Вимоги до кандидата:
Android / Kotlin
- Kotlin (3+ роки комерційно), Android SDK, робота з hardware-oriented планшетами
- Coroutines + Flow, багатопоточність, backpressure, structured concurrency
- Архітектура: MVVM / Clean Architecture, modularization
- DI: Hilt/Dagger, навички розділення доменної логіки та UI
Offline-first та локальне зберігання
- Room/SQLite, DataStore/SharedPrefs, FS IO.
- Черги завантажень, відновлення після падіння/перезапуску
- WorkManager (background tasks), foreground service для довгих операцій
- Надійний retry/backoff, контроль цілісності (hash), “resume upload”
Мапа: offline + online
- Google Maps (packs/tiles)
- Робота з великою кількістю об’єктів: полігони/лінії/тайли, кластеризація, оптимізація рендерингу
- Offline tiles/packaging, кеш тайлів, перемикання offline/online без “розвалу” UX
- GIS базові речі: координати, прив’язка до точки/об’єкта, маркери/теги
Відео-стрімінг / прев’ю
- RTSP/HTTP/WebSocket-потоки (або інші “живі” джерела)
- ExoPlayer / MediaCodec, перемикання між 2 камерами, стабільна робота під навантаженням
- Розуміння FPS/latency, оптимізації декодування
Файли та формати даних
- Робота з великими файлами: JPEG (RGB), TIFF (thermal), LAZ (LiDAR)
- File IO, streaming-запис, перевірки дискового простору, нотифікації “storage full”
- Базове розуміння, як пакувати дані у “job”/manifest (JSON) для аплоаду
Мережа та API інтеграція (Azure)
- REST API клієнт (Retrofit/OkHttp), авторизація (tokens), upload великих пакетів
- Надійна доставка: підтвердження прийому, повторні відправки, логування помилок
- Робота при нестабільному 4G/Wi-Fi, відновлення після reconnection
Якість та підтримуваність
- Нормальна обробка помилок (глобальний error handler), аналітика/логування (Timber/Crashlytics або аналоги)
- Тести на критичну логіку: unit + базові інтеграційні (MockWebServer вітається).
Must-to-have досвід у:
LiDAR / 3D viewer
- Рендеринг point cloud / depth overlay (OpenGL / Filament / Sceneform)
- Досвід з LAZ/Las (парсинг, конвертація, downsampling), синхронізація кадрів з зображеннями
Польові умови / device health
- Робота з “device health” панелями: статус батареї/живлення, температура, сенсори
- Robust UI для водія: великі контролли, швидкі стани, мінімум кліків, безпечний UX
Security (якщо знадобиться)
- Шифрування локальних даних (SQLCipher/EncryptedFile), безпечне зберігання токенів
- TLS pinning/сертифікати (за вимогою)
Soft skills під цей проєкт
- Вміння працювати “пліч-о-пліч” з командами hardware та ML (узгодження протоколів/форматів/таймінгів)
- Уміння формалізувати вимоги: edge-cases, offline сценарії, retry політики, “що робимо коли…”
- Дисципліна по документації (короткий технічний опис інтеграцій, форматів, flow)
Native Android (Kotlin) developer для in-vehicle tablet application: карта (offline/online) з великою кількістю полігонів/тайлів, 2 відео-стріми з перемиканням, збір/зберігання великих файлів (JPEG/TIFF/LAZ), офлайн-черги та синхронізація при появі мережі, інтеграція з Azure backend (retries, ack, integrity), екран статусів обладнання та контроль пайплайну аплоаду.
Стек по мапі - Google Maps), протокол стріму (WebRTC/WebSocket).
Відгукуйтесь, будемо раді співпраці.
Required skills experience
| Kotlin | 2 years |
| WebRTC | 2 years |
| WebSockets | 2 years |
| Google Maps | 2 years |
| Big Data | 1 year |
| Retrofit | 1 year |
Required domain experience
| Automotive | 1 year |
| Hardware / IoT | 2 years |
Required languages
| English | B2 - Upper Intermediate |