| Skill Family | Skills |
| Android Development Fundamentals | Understanding of Android app lifecycle components and application states. |
| Kotlin Programming Language | Proficiency in Kotlin syntax features and language idioms. |
| Android Jetpack Components | Experience in using Jetpack libraries such as ViewModel LiveData Room Navigation and Data Binding. |
| UI/UX Design and Material Design Guidelines | Understanding of UI/UX design principles and Material Design guidelines. |
| Network Communication (e.g. Retrofit Volley) | Proficiency in integrating RESTful APIs for network communication. |
| Persistence (e.g. Room SQLite) | Knowledge of data persistence techniques in Android using Room SQLite or other ORM libraries. |
| Multithreading and Concurrency (e.g. Coroutines Threads) | Understanding of multithreading and concurrency concepts in Android. |
| Background Processing (e.g. WorkManager) | Familiarity with Androids background processing APIs such as WorkManager JobScheduler or AlarmManager. |
| Dependency Injection (e.g. Dagger Hilt) | Proficiency in using dependency injection frameworks like Dagger or Hilt for managing dependencies. |
| Testing (Unit Testing Espresso UI Automator) | Experience in writing unit tests for business logic using JUnit and Mockito. |
| Debugging and Performance Optimization | Ability to debug and diagnose issues using Android Studio debugger and Profiler tools. |
| Version Control (e.g. Git) | Proficiency in using version control systems particularly Git. |
| Jetpack Compose | Now the preferred UI toolkit replacing XML-based layouts. Skills include building composable functions managing state with remember mutableStateOf and integrating with ViewModels. Proficiency in Room WorkManager Navigation Paging and Hilt for dependency injection is essential |
| MVVM Architecture | MVVM is now the dominant architecture pattern often paired with Jetpack libraries like LiveData ViewModel and Navigation Component |