- Strong knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes
- Solid understanding of the full mobile development life cycle.
- Familiarity with RESTful APIs to connect Android applications to back-end services
- Working knowledge of the general mobile landscape, architectures, trends, and emerging technologies
- Strong knowledge of Android UI design principles, design patterns, and best practices
- Understanding of Google's Android design principles and interface guidelines
- Experience with offline storage, threading, and performance tuning
- Familiarity with the use of modules and sensors, like camera, location, gyroscopes and accelerometers
- Knowledge of the open-source Android ecosystem and the libraries available for common tasks
- Ability to understand business requirements and translate them into technical requirements
- Familiarity with cloud message APIs and push notifications
- Abilities for benchmarking and optimization
- Proficient understanding of code versioning tools, such as Git
- Fairly good knowledge to work in the project management tools
- Familiarity with continuous integration
- Comfortable working as part of a cross-functional team and with code written by others, including bug fixing, and refactoring legacy code
- Excellent communication skills
- Self motivated, engaging and self managing
Tools and technologies includes and not limited to
- Java/Kotlin
- Android SDK/Studio
- Android Debug Bridge (ADB)
- Google Play services
- SQLite
- Android emulators
- Firebase
- Gradle
- Retrofit
- Android Architecture Components (AAC)
Familiarity with any app distribution services