Rakuten Viber is one of the most popular and downloaded apps in the world. Working with us provides a unique opportunity to influence hundreds of millions of our users and to be part of the journey that makes us a super-app. Our mission is to make people’s lives easier by enabling meaningful connections, from precious moments with family and friends, through managing business relationships to pursuing their passions.
As an Android Developer, you will be responsible for design and development of Viber Android client. We offer many interesting and challenging tasks that will allow you to extend your technical abilities delivering the product of the highest quality to our users.
The ideal candidate is interested in improving our users’ experience and wants to make a positive impact in the team.
Full time job. We’re working in hybrid mode (from home and the office).
- Take part in the development of Viber client for Android
- Work within a big team of developers to new features production, complete proposed initiatives, contributing application improvements
- Quickly gain an understanding of our clients’ requirements, technology needs and solution architecture
- Collaborate with product managers and design team to develop appropriate solutions.
- 5+ years of commercial Android development experience, with strong expertise in Java and Kotlin, demonstrating the ability to build and maintain complex applications.
- Proven track record of implementing clean architecture patterns (MVVM/MVP/MVI) in production applications, with experience in the multi-module project organization.
- Deep understanding of Android fundamentals and lifecycle components, with extensive experience using Android Jetpack libraries (WorkManager, Paging, ViewBinding, LiveData).
- Strong background in Android performance optimization, including efficient use of collections and concurrent programming with both Java threading and Kotlin Coroutines/Flow.
- Experience with dependency injection in Android applications, particularly using Dagger 2, and the ability to design scalable component architectures.
- Demonstrated expertise in database design, SQL optimization, and implementation using Room.
- Proven experience in writing and maintaining unit tests, with a strong focus on code quality and best practices.
- Solid understanding of mobile UX principles and ability to implement pixel-perfect designs while maintaining performance.
- Advanced knowledge of version control with Git and build system configuration using Gradle.
- Strong foundation in software design patterns (GoF) with practical experience in application architecture and systematic refactoring.
- Intermediate level of spoken English, with the ability to effectively communicate in team settings.
- Experience in developing custom Android UI components and complex layouts.
- Practical knowledge of ExoPlayer and media playback optimization on Android.