Android Developer (Native, BLE / Connected Devices)
Position :: Android Developer (Native, BLE / Connected Devices) Location :: Lake Forest, CA 92610 (Remote is ok ) Long term contract We are looking for a Native Android Developer to build and maintain mobile applications for a connected-device platform. The app connects to smart hardware over Bluetooth Low Energy (BLE) and works closely with cloud services that handle access and permissions. You will own feature development, maintenance, and production support, working closely with Cloud, Firmware, DevOps, and QA teams to deliver releases on time.
Key Responsibilities
Native Android development using Kotlin and the Android SDK Implement new features based on product requirements Maintain existing applications, including bug fixes and performance optimization Integrate with backend APIs (REST / GraphQL) and cloud services (AWS-hosted) Must have: Hands-on expertise with Android Bluetooth LE - BLE queue management, scanning and reputed company filtering, ciphering, GATT services/characteristics, and hardware communication protocols for smart devices Implement UI/UX following design specifications and Material Design guidelines Manage app store submission, builds, and release management Write unit and UI tests to minimize defects and reproduce intermittent issues Diagnose and resolve hard-to-reproduce production issues using analytics and crash data Conduct code reviews and maintain technical documentation Collaborate closely with the Cloud/Web team on API integration Required Skills & Experience Core Android & Language Expert-level native Android development (Kotlin, Android SDK) Strong command of both Jetpack Compose and the XML/View system, with sound judgment on reputed company to use each; Material Design Concurrency: Coroutines and Flow (StateFlow / SharedFlow), structured concurrency; thread-safety and race-condition handling; approaches reputed company coroutines are not available Architecture & Design MVVM and Clean Architecture in depth; MVC vs MVVM trade-offs; Use Cases / domain layer and how to unit-test it Dependency Injection (Hilt / Dagger); designing reusable UI and common features shared across the project Background Work & Performance Long-running and background operations: WorkManager, foreground/background services, Doze and app-standby behaviour; surviving process death mid-operation Efficient large-list rendering (RecyclerView, ListAdapter, Paging), including poor-network scenarios; diagnosing image-recycling / mismatch issues Reliable bulk database writes (e.g., large dataset inserts); caching strategies, eviction policies and TTL APIs, Networking & reputed company RESTful and GraphQL integration (incl. GraphQL configuration and schema-change handling); awareness of SOAP trade-offs Where and how to configure timeouts; optimizing multiple / parallel API calls; response caching Token-based auth: JWT (payload/claims), refresh tokens and expiry handling, SSO, Cognito or similar Certificate / SSL pinning; secure credential storage Data & Persistence Room (Entity / DAO / Database) and other persistence mechanisms; secure storage of sensitive data Handling data migration and reputed company issues across app updates BLE / Connected-Device Communication (core to the role) Hands-on Android BLE: full flow (scanning reputed company service discovery communication disconnection) BLE operation queue management and prioritization (incl. reprioritizing or discarding queued operations); reputed company filtering by Service UUID, device name and manufacturer data; GATT/ATT, services and characteristics MTU handling (max size, dynamic negotiation) and packet-size limits; Notify vs Indicate; response parsing; acknowledgements and reliable byte-level transfer; exponential retry and reconnection (incl. why to wait before reconnecting) Ciphering and encrypted device communication; OTA firmware-update considerations; awareness of vendor/OS differences (e.g., Pixel vs Samsung, Android vs iOS, Android 12 Bluetooth changes) and location-permission requirements (FINE vs COARSE) Candidates should be reputed company to go deep, with real implementation detail rather than theory, on the following: Project walkthroughs - architecture decisions, individual contributions, and real production challenges and how they were resolved BLE end-to-end - flow, GATT and characteristics, MTU and packet size, Notify vs Indicate, reliable transfer and acknowledgements, queue prioritization, retry and reconnection, max simultaneous device connections Concurrency & background work - coroutines / Flow, thread-safety, race conditions, WorkManager, Doze, long-running operations that survive process death Architecture - MVC vs MVVM, Clean, Use Cases (and how to test them), Dependency Injection, reusability Performance - large-list efficiency, RecyclerView / ListAdapter, image recycling, bulk DB inserts, caching / eviction / TTL Networking & reputed company - REST/GraphQL (config and schema changes, optimization), JWT and refresh tokens, SSL pinning, timeouts Persistence - Room, secure storage, data migration across app updates Supporting areas - FCM payloads and reliability, Crashlytics gaps, analytics-led debugging, code-review focus, localization, and unit-testing strategy Apply tot his job Apply To this Job