Role & responsibilities
Android Developer (Native, BLE / Connected Devices)
Must have skills:
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 when to use each; Material Design
- Concurrency: Coroutines and Flow (StateFlow / SharedFlow), structured concurrency;thread-safety and race-condition handling; approaches when 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 & Security
- 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 integrity issues across app updatesBLE / Connected-Device Communication (core to the role)
- Hands-on Android BLE: full flow (scanning connection service discovery communication disconnection)
- BLE operation queue management and prioritization (incl. reprioritizing or discarding queued operations); scan 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 retryand 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, Android12 Bluetooth changes) and location-permission requirements (FINE vs COARSE)Notifications, Analytics & Observability
- Push notifications (FCM):
data vs notification messages, triggering, reliability trade-offsand use cases; payload structure / parsing and resilience to backend payload changes
- Firebase Analytics (custom events, event tracking) and Crashlytics; which crash typesgo unreported and why; analytics- and log-driven debugging of elusive production issues
- Memory-leak detection (LeakCanary), including integration with CI/CD Quality, Tooling & Delivery
- CI/CD pipelines for mobile (Fastlane, Gradle); modules across multiple repositories and multiple build types / flavors
- App distribution: Firebase App Distribution, Google Play Store
- Build / dependency tooling: Gradle, Android Studio, Maven
- Testing: JUnit, Espresso, Kaspresso; a clear view of meaningful coverage and which layers to test
- Localization implementation and management (incl. tooling such as Phrase); awareness of Android/iOS localization differences
Preferred / Nice to Have
- Experience with IoT / connected-device companion apps (strongly preferred)
- Experience with OTA firmware update flows
- A/B testing: implementation and rollout
- Google Maps integration; Fragments-based navigation
- Practical use of AI-assisted development tools in day-to-day workflow
- Good to have: B1 visa
iOS Developer (Native, BLE / Connected Devices)
- Native iOS development using Swift and the current iOS 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: Implement device communication over BLE (CoreBluetooth) BLE queue management, scanning and scan filtering, ciphering, GATT services/characteristics, andhardware communication protocols for smart devices
- Implement UI/UX following design specifications and Apple Human Interface 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 iOS & Language
- Expert-level native iOS development (Swift, current iOS SDK)
- Strong command of both SwiftUI and UIKit, and sound judgment on when to use each
- Concurrency: async/await, Combine and GCD; thread-safety and race-condition handling; tracing and preventing memory leaks
Architecture & Design
- MVVM and Clean Architecture in depth, including the domain / Use Case layer
- Dependency Injection; designing reusable UI and functional components across the app APIs, Networking & Security
- RESTful and GraphQL integration (Alamofire); awareness of SOAP and its trade-offs
- API caching, request optimization (reducing redundant calls), and timeout configuration
- Token-based auth: JWT (payload/claims), refresh tokens and expiry handling, SSO, Cognito or similar
- Certificate / SSL pinning and certificate renewal; secure credential storage (Keychain) Data & Persistence
- Persistence mechanisms (Keychain, UserDefaults, Core Data / local DB) and secure storage of sensitive data
- Handling data migration and integrity issues across app updates BLE / Connected-Device Communication (core to the role)
- Hands-on CoreBluetooth: full BLE flow (scanning connection service discovery communication disconnection)
- BLE queue / operation management, scan filtering, GATT/ATT, services and characteristics
- MTU / packet-size handling, response parsing, acknowledgements and reliable byte-level transfer, exponential retry and reconnection
- Ciphering and encrypted device communication; OTA firmware-update considerations
Notifications, Analytics & Observability
- Push notifications (APNS): payload structure, parsing, and payload-driven navigation
- Analytics and crash reporting (Firebase / Crashlytics); using analytics and logs to debug elusive production issues
Quality, Tooling & Delivery
- CI/CD pipelines for mobile (e.g., Fastlane); app-store submission (TestFlight, Apple App Store)
- Build / dependency tooling: Xcode, CocoaPods, Swift Package Manager
- Testing: XCTest, XCUITest; a clear view of meaningful coverage and which layers to test
- Localization implementation and management (incl. tooling such as Phrase); awareness of iOS/Android localization differences
Preferred / Nice to Have
- Experience with IoT / connected-device companion apps (strongly preferred)
- Experience with OTA firmware update flows
- Location features: Geofencing (background and terminated-state behaviour), MapKit
- Siri Shortcuts, AWS service integration, in-app chat SDKs
- Designing a shared codebase across iOS and macOS
- Practical use of AI-assisted development tools in day-to-day workflow
Preferred candidate profile
Perks and advantages
📌 Mobile Developer (Kerala)
🏢 Ezzoft
📍 Kerala