iOS Developer (Native, BLE / Connected Devices)
Experience: 8+ Years
About the Role: We are looking for a Native iOS 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 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, and
hardware 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-os
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 dierences
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