Technical Skill Set:
- Good understanding of Core Java
- Experience working with different versions of Android, and how to deal with different screen sizes
- Familiarity with RESTful APIs to connect Android applications to back-end services (Retrofit, OkHttp, Websockets)
- Experience with offline database storage (Sqlite, Realm)
- Knowledge of the open-source Android ecosystem and the libraries available for common tasks. Android SDK (Fragment API, Bluetooth/BLE API, Camera API, Service API, BroadcastReceiver, Job Scheduler API)
- Android Testing (Robolectric, Mockito, Espresso, UI Automator, Junit, Hamcrest)
- Image processing (Picasso, Glide, Fresco)
- Google Play Services (Maps/Places, Location, GCM, AdMob/DFP, Drive, Face Detection)
- Firebase (Auth, Database, Notifications, Analytics, Cloud Functions, Crash Reporting etc.)
- Social networks (Facebook SDK, Twitter SDK, Instagram SDK, Vkontakte SDK)
- Proficient understanding of code versioning tools, such as Git
- Strong knowledge of Android UI design principles, patterns, and best practices (Support libraries, Custom views, Custom themes/styles)
- Ability to understand business requirements and translate them into technical requirements.