 
        
        Senior Android Developer Opportunity
We are seeking a skilled Senior Android Developer to join our dynamic team.
This role demands a candidate capable of delivering high-quality work against technical and schedule challenges, while following strong software design and process principles. The ideal candidate will have extensive experience developing Android mobile native applications in Kotlin, a solid understanding of the full Android mobile development life cycle, and strong knowledge of Android UI design principles and best practices.
Key Responsibilities:
 * Design and develop high-quality mobile app architecture
 * Apply software engineering design patterns to develop well-structured, modular, performant application code
 * Serve as a technical mentor in mobile app development
 * Perform code reviews, write unit and UI tests, and contribute to architectural planning and refactoring
Requirements:
To be successful in this role, you will need:
 * 6+ years of working experience in software engineering
 * Extensive experience developing Android mobile native applications in Kotlin
 * Solid understanding of the full Android mobile development life cycle
 * Strong knowledge of Android UI design principles and best practices
 * Experience developing native Android applications on Android 9.0 API level 28 and above
 * Experience with at least one of these design architectures: MVVM, Clean Architecture
 * Expert in UI layouts and creating adaptive layouts for various hardware configurations
 * Experience writing custom views and controls
 * Experience in testing high volume applications: unit test, integration test, E2E Test
 * Experience using external commercial and open source libraries
 * Experience with Git and GitFlow
 * A solid grasp of fundamental algorithms, data structures, and design patterns
 * Portfolio of apps that you've built; ideally available in the Google Play App Store
 * Ability to prototype new features and redesign existing ones
 * Excellent problem solving, debugging skills, critical thinking, and communication skills
 * Ability to effectively articulate technical challenges and solutions
 * Aptitude and desire to independently learn new technologies
Preferred Skills:
In addition to the requirements listed above, it would be beneficial if you had experience in:
 * Animation and graphics
 * Dependency injection framework (e.g. Dagger, Hilt)
 * Scrum/Agile methodologies
 * Jetpack Navigation
 * Android performance profiling tools and optimization techniques
 * Open API standard (Swagger)
 * Push notification
 * Working knowledge of Internationalization
 * Gradle task configuration
Bonus Skills:
If you have experience in continuous integration and delivery (e.g. Github Actions, Bitrise), releasing apps to the Google Play App Store, or using Google Firebase Analytics and Crashlytics, that would be a bonus!