Android Developer Middle
Our project involves a leading Ukrainian mobile operator wholly owned by a prominent international investment firm. The company is a major player in the Ukrainian telecommunications market and a pioneer in implementing innovations, as well as developing attractive tariffs and services.
The company's mission is to enrich customers' lives by delivering high-quality telecommunications services supported by innovative technologies, robust technical processes, and a dedicated team of professionals.
We are seeking an Android Developer to contribute to a portfolio of three production applications, each presenting distinct domains and technical challenges. The product scope includes a customer-facing self-service app featuring complex business logic, API integrations, and high standards for reliability and user experience; a media-focused streaming video app offering video playback, offline viewing, and advanced player customization; and optionally, an enterprise application integrated with SAP systems to support asset management, warehouse operations, and field service workflows.
The developer will address diverse challenges such as UI-intensive workflows, media playback, and offline-first functionality.
Responsibilities
Develop and maintain features for multiple Android applications
Work with various architectures and domains, including consumer apps, media, and enterprise
Design scalable, maintainable solutions using modern Android practices
Ensure application performance, stability, and responsiveness
Integrate with backend services and enterprise systems, including SAP via SOAP-based network integration
Debug complex issues across networking, storage, and media layers
Collaborate with cross-functional teams, including product, backend, and QA
Support the gradual modernization of legacy code as required
Skills
Must have
The role demands advanced proficiency in Android development, with over two years of hands-on experience primarily utilizing Kotlin and the Android SDK. The candidate should possess deep expertise in managing application lifecycle components such as Activity, Fragment, and Service, as well as integrating third-party open-source libraries and payment systems. Familiarity with remote data handling through XML and JSON, REST APIs, and version control systems is essential. Additionally, experience in asynchronous programming with Coroutines and Flow, dependency injection (preferably Hilt), and leveraging Jetpack components including ViewModel, Navigation, Room, and WorkManager is required.
Candidates must demonstrate competence in modern Android architecture patterns like MVVM, UDF, and clean layering, along with experience developing complex client-server applications featuring comprehensive business logic. Proficiency in working with offline-first strategies, local caching, multi-module projects, and continuous integration/continuous deployment (CI/CD) pipelines is expected. Expertise in the Firebase toolset and testing methodologies, both unit and UI, is important for ensuring application quality.
Soft skills pertinent to this role include effective problem-solving and adaptability in managing media playback challenges, such as buffering, playback recovery, background playback, audio focus, and interruptions. Experience working with media playback frameworks (Media3 / ExoPlayer), implementing Picture-in-Picture mode, and handling offline video functionality—encompassing downloads, caching, and local playback—is necessary. Candidates should be adept at customizing player UI and controls and navigating Android storage constraints, including external storage and SD card access permissions. Knowledge related to DRM, subtitles, and multi-audio features is considered advantageous.
Hard skills:
Advanced Android development with Kotlin and Android SDK
Application lifecycle and component management
Integration of third-party libraries and payment systems
Remote data handling (XML, JSON) and REST API consumption
Asynchronous programming with Coroutines and Flow
Utilization of Jetpack components and dependency injection (Hilt)
Version control (Git) and CI/CD pipeline experience
Familiarity with modern Android architectures (MVVM, UDF, clean layering)
Development of complex client-server applications
Offline-first methodologies, local caching, and multi-module project management
Testing (unit and UI) and Firebase toolset expertise
Media playback frameworks (Media3 / ExoPlayer) and Picture-in-Picture implementation
Offline video management, player UI customization, and audio handling
Understanding of Android storage permissions and external storage access
Soft skills:
Strong problem-solving and adaptability in media playback challenges
Effective management of application state and lifecycle complexities
Nice to have
User Interface and User Experience Design: Optional skills in designing intuitive and effective user interfaces and enhancing user experiences.
Unit Testing, Design, and Implementation: Ability to develop and execute unit tests, contributing to robust and maintainable code.
Task Management: Optional competency in organizing, prioritizing, and tracking tasks efficiently.
Enterprise API or SAP Integration Experience: Familiarity with integrating and working with enterprise-level APIs or SAP systems.
Authentication Flow Understanding: Knowledge of authentication processes such as OAuth2 and Single Sign-On (SSO).
Device Integration and File Handling: Experience with integrating devices, managing files, or using field tools.
Legacy Android Stack Experience: Skills with older Android technologies including Java, XML/Fragments, RxJava, and Dagger 2.
Combining Compose and Legacy UI: Ability to integrate modern Compose UI components with legacy user interfaces.
Performance Optimization: Experience in improving application performance related to memory usage, ANR (Application Not Responding) issues, and startup time.
Required languages
| English | A1 - Beginner |
| Ukrainian | C1 - Advanced |