
Android Developer
Roles and responsibilities
We are seeking a highly skilledSenior Android Native Developer with a strong background in JetpackCompose and modern Android development practices. The idealcandidate will have a minimum of 5 years of experience buildingscalable and high-performance Android applications. You will play acritical role in designing, developing, and maintaining ourapplications while working closely with cross-functional teams todeliver a seamless userexperience.
KeyResponsibilities
- Design and develop advanced Androidapplications using Jetpack Compose andKotlin.
- Implement MVVM or Clean Architecture toensure maintainable and scalable code.
- UtilizeAndroid Jetpack libraries (Compose, Navigation, Room, Hilt,ViewModel, etc.).
- Optimize applications forperformance, responsiveness, and batteryusage.
- Profile and debug code to identify andfix bottlenecks.
- Implement unit testing, UItesting, and integration testing using tools like JUnit, Espresso,and MockK.
- Conduct peer code reviews tomaintain high code quality standards.
- Stay upto date with the latest Android tools, trends, and Jetpack Composeimprovements.
- Suggest and implementimprovements to the development process.
RequiredSkills
- Programming Languages: Kotlin(mandatory).
- UI Framework: Jetpack Compose(hands-on experience is a must).
- Architecture:Strong experience with MVVM, Clean Architecture, and Jetpacklibraries.
- Tools & Libraries:Hilt/Dagger for dependency injection, Retrofit for API integration,Coroutines/Flows for asynchronous programming, Room or similar ORMlibraries for local storage.
- Version Control:Git.
- Testing Tools: JUnit, Espresso, MockK, orsimilar frameworks.
- CI/CD Pipelines: GitHubActions and Fastlane.
Qualifications
- Bachelor’s degree inComputer Science, Software Engineering, or a relatedfield.
- Minimum of 5 years of experience innative Android development with proven expertise in JetpackCompose.
PreferredSkills
- Knowledge of Kotlin MultiplatformMobile (KMM).
- Experience with performanceprofiling tools and debuggingtechniques.
- Familiarity with Google Playpolicies and guidelines.
Desired candidate profile
1. Proficiency in Android Development Tools&Frameworks
- AndroidSDK: Expertise in the Android Software DevelopmentKit (SDK) for building native Androidapplications.
- AndroidStudio: Proficient in using Android Studio, theofficial IDE for Android development, for writing, debugging, andtestingcode.
- Gradle:Knowledge of Gradle for automatingbuilds and managingdependencies.
- JetpackLibraries: Experience withJetpack libraries, includingcomponents like LiveData,ViewModel,Room,Navigation, andWorkManager.
2.ProgrammingLanguages
- Kotlin:In-depth knowledge of Kotlin, themodern and official programming language for Androiddevelopment.
- Java:Familiarity with Java for legacyAndroid applications or where Java is stillrequired.
- Coroutines:Experience with Kotlin Coroutines forhandling asynchronous tasks like network calls or databaseoperations efficiently.
3.Android UI/UXDesign
- XMLLayouts: Creating responsive UI designs usingXML layouts and understandingAndroid's UI patterns (e.g., LinearLayout,ConstraintLayout).
- MaterialDesign: Implementation of MaterialDesign principles for building intuitive andaesthetically pleasing userinterfaces.
- JetpackCompose: Experience with JetpackCompose for building UI components in a moredeclarative way (for modern Androidapps).
- ResponsiveDesign: Ensuring apps are responsive acrossdifferent screen sizes and orientations, including tablets andfoldables.
4. AppArchitecture & DesignPatterns
- MVVM:Proficiency in using the Model-View-ViewModel(MVVM) architecture for structuring Androidapps.
- MVP/MVC:Knowledge of alternative architectures such asModel-View-Presenter (MVP) orModel-View-Controller(MVC).
- CleanArchitecture: Implementing CleanArchitecture to separate concerns and improve codemaintainability andscalability.
- DependencyInjection: Experience using frameworks likeDagger 2 orHilt for dependency injection inAndroid.
5. DataStorage &Management
- SQLite:Working knowledge of SQLite for localdatabase management and datastorage.
- RoomDatabase: Experience using the Roompersistence library for a more modern abstractionoverSQLite.
- SharedPreferences:Familiarity with SharedPreferences forstoring small amounts of data locally (e.g., usersettings).
Key Skills
Android Development,AndroidProgramming,Information System
Employment Type: Full-time
Department / FunctionalArea: Information Technology (IT)
Experience: years
Gender: Male
Vacancy: 1