About this role
We are looking for Expert Android Consultant who will work on a project for major bank on a Polish market.
Requirements:
- Minimum 6 years of commercial experience in Android mobile application development using Kotlin.
- Hands-on experience with Android SDK, Android Studio, AndroidX, and Material Components.
- Ability to develop applications targeting the latest Android version while maintaining backward compatibility with older Android versions.
- Knowledge of Java.
- Experience with MVVM architecture, including ViewModel, LiveData/StateFlow, and Navigation Component.
- Good understanding of Clean Architecture and layered architecture principles (UI, Domain, Data).
- Experience working with multi-module applications, including practical knowledge of separation of concerns and component isolation.
- Strong understanding of reactive and asynchronous programming.
- Very good knowledge of RxJava3, including error handling, schedulers, and chaining.
- Knowledge of Kotlin Coroutines and understanding of the differences between reactive and coroutine-based approaches.
- Experience in implementing data flows using LiveData, Flow, StateFlow, and similar mechanisms.
- Experience in writing unit and integration tests using Mockito, MockK, PowerMock, and JUnit.
- Good understanding of code coverage, module testability, and component testability.
- Experience with backend integration using REST and SOAP, as well as OkHttp and Retrofit.
- Experience with libraries and frameworks such as Firebase, Lottie, Android Architecture Components, Room, and WorkManager.
- Experience with CI/CD processes, including Jenkins and GitLab CI.
- Experience with development and debugging tools such as Debugger, Android Profiler, and Layout Inspector.
- Ability to profile Android applications in terms of CPU, memory, and battery usage, as well as optimize UI performance and resource consumption.
- Fluency in Polish
- Good knowledge of English
Duties:
- New features development
- Automated testing
- Backend and API integration
- Creation of documentation
- Cooperation with team and stakeholders on Client's side