 
        
        Mobile Software Engineer
Develop innovative mobile software that thrills users.
This role requires a talented Senior Android Developer to contribute to the design and architecture of high-quality mobile apps.
 * Design and architect high-quality mobile applications
 * Apply software engineering principles and patterns to develop well-structured, modular application code
 * Serve as a technical mentor in mobile app development and guide team members in their work
The ideal candidate has at least 6 years of experience in software engineering, extensive experience developing Android native applications in Kotlin, solid understanding of the full Android mobile development life cycle, and strong knowledge of UI design principles and best practices.
Requirements:
 1. 6+ years of working experience in software engineering
 2. Extensive experience developing Android mobile native applications in Kotlin
 3. Solid understanding of the full Android mobile development life cycle
 4. Strong knowledge of Android UI design principles and best practices
 5. Experience developing native Android applications on API level 28 and above
 6. Experience with design architectures: MVVM, Clean Architecture
 7. Expert in UI layouts and creating adaptive layouts for various hardware configurations
 8. Experience writing custom views and controls
 9. Experience in testing high volume applications: unit test, integration test, E2E Test
 10. Experience using external commercial and open source libraries
 11. Experience with Git and GitFlow
 12. A solid grasp of fundamental algorithms, data structures, and design patterns
 13. Portfolio of apps that you've built; ideally available in the Google Play App Store
 14. Ability to prototype new features and redesign existing ones
 15. Excellent problem solving, debugging skills, critical thinking, and communication skills
 16. Ability to effectively articulate technical challenges and solutions
 17. Aptitude and desire to independently learn new technologies
Preferred Skills:
 1. Experience in animation and graphics
 2. Experience in dependency injection framework (e.g. Dagger, Hilt)
 3. Experience with Scrum/Agile methodologies
 4. Experience with Jetpack Navigation
 5. Experience with Android performance profiling tools and optimization techniques
 6. Experience with Open API standard (Swagger)
 7. Experience with push notification
 8. Working knowledge of Internationalization
 9. Experience with Gradle task configuration
Bonus Skills:
 1. Experience in continuous integration and delivery (e.g. Github Actions, Bitrise)
 2. Experience releasing app to the Google Play App Store
 3. Experience with Google Firebase Analytics and Crashlytics
 4. Familiar with Jetpack Compose