About Us:
As a Senior Mobile Developer at Kenility, you’ll join a tight-knit family of creative developers, engineers, and designers who strive to develop and deliver the highest-quality products to the market.
Technical Requirements:
- Bachelor’s degree in Computer Science, Software Engineering, or a related field.
- Strong experience with native iOS development using Swift 5.0, UIKit, and Combine.
- Solid knowledge of Core Data, including context management, concurrency, migrations, and synchronization.
- Experience working with MVC-based iOS architectures and complex View Controllers.
- Familiarity with Swift Package Manager, xcconfig files, multiple targets, and build configurations.
- Experience with Firebase Analytics, Crashlytics, Performance Monitoring, Messaging, and Remote Config.
- Knowledge of authentication integrations with Google, Microsoft, Apple, and email/password providers.
- Ability to read and understand Objective-C code.
- Experience with XCTest, test plans, UI testing, snapshot testing, and network stubbing with OHHTTPStubs.
- Experience with Fastlane and Bitrise for mobile CI/CD workflows.
- Strong Android development experience using Kotlin, Coroutines, and Flow.
- Solid experience building Android interfaces with Jetpack Compose.
- Strong understanding of MVVM and Clean Architecture, including Presenters, ViewModels, Use Cases, Repositories, and data layers.
- Experience with SQLDelight, database migrations, and offline-first application architectures.
- Knowledge of Gradle and Ruby-based build automation.
- Experience with Hilt and KSP for dependency injection and code generation.
- Familiarity with Navigation 3 for Jetpack Compose.
- Experience implementing authentication with Google Credential Manager, Microsoft MSAL, AppAuth/OIDC, and email/password.
- Experience with Ktor, OkHttp, and kotlinx.serialization.
- Knowledge of JUnit 5, MockK, Kotest, and coroutine testing utilities.
- Experience with the Google Drive API.
- Experience with Fastlane and Bitrise for Android CI/CD workflows.
- Familiarity with SendBird, WebKit/WebView integrations, MapKit or Google Maps Compose, Unleash, StoreKit, WorkManager, Sentry, Maestro, Espresso, and Compose UI Test is considered a plus.
- Minimum Upper Intermediate English (B2) or Proficient (C1).
Tasks and Responsibilities:
- Develop and maintain native iOS functionality within a predominantly UIKit-based application.
- Manage Core Data as the iOS application’s primary data source, handling synchronization, concurrency, contexts, and database migrations.
- Maintain and evolve existing MVC-based iOS components, including complex View Controllers.
- Support authentication flows across multiple identity providers on iOS and Android.
- Maintain and enhance a fully Kotlin-based Android application using Coroutines and Flow.
- Develop and maintain Android user interfaces primarily with Jetpack Compose while supporting legacy Activities, Fragments, and RecyclerView components used by the chat integration.
- Work within the Android application’s MVVM and Clean Architecture structure across presentation, domain, repository, API, and persistence layers.
- Maintain SQLDelight as the Android application’s source of truth, supporting offline-first behavior and database migrations.
- Configure and maintain customized mobile build processes and CI/CD pipelines using Gradle, Ruby, Fastlane, and Bitrise.
- Integrate and maintain Firebase services for analytics, crash reporting, performance monitoring, messaging, and remote configuration.
- Maintain automated testing across both mobile platforms using the project’s existing unit, UI, snapshot, and end-to-end testing frameworks.
- Support third-party and platform integrations such as SendBird, web-based native bridges, mapping capabilities, feature flags, and application monitoring.
Soft Skills:
- Responsibility
- Proactivity
- Flexibility
- Great communication skills