Detailed JD Android Developer
Total Experience
3-5 yrs of experience
Relevant Experience
3-5
Mandatory skills
- 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
Desired skills
- Proficient in Android SDK and other development tools
- Design and build advanced applications for the Android platform
- Translate designs and wireframes into high quality code
- Build and maintain high performance, reusable, and reliable code
- Unit-test code for robustness, including edge cases, usability, and general reliability
- Ensure the best possible performance, quality, and responsiveness of the application
- Maintain code quality, organization, and automatization
- Identify and correct bottlenecks and fix bugs
- Keep code up to date with the new changes and regulations introduced
- Collaborate with cross-functional teams to define, design, and ship new features
- Work with external data sources, libraries and APIs
Continuously discover, evaluate, and implement new technologies to maximize development efficiency