Responsibilities:
- Collaborates with team members to build flexible, scalable, and maintainable mobile apps
- Validates and execute unit tests, and automated UI tests to identify application errors and ensure software meet functional specs
- Participates and coaches others in all software development life cycle phases by applying an in-depth understanding of industry methodologies and standards
- Participate in code reviews to instill the highest of code quality, ensure Android best practices, and own the continuous improvement of yourself and the team
- Stay up-to-date with the latest trends, techniques, and innovations in Android products and development
- Share thoughts and ideas on how to improve the Android Consumer mobile application
Minimum Qualifications:
- Bachelor's Degree in Computer Science, CIS, or equivalent experience
- 4- 7+ years of experience in Android software development, or relevant experience
- Proficient writing unit tests and UI automation tests using tools such as Espresso, Junit, Robolectric, etc.
- Strong CS/analytical skills
- Good written and verbal communication skills
- Experience using both Java and Kotlin
- Passionate about learning, innovation, knowledge sharing, and continuous improvement
- Passionate for shipping consumer-facing, high quality, mobile applications
- Should be able to collaborate, work with, and lead global teams
- Experience using Firebase SDKs
- Able to provide best practices for development, unit testing, and acceptance testing
- Experience with popular architectures like MVVM and MVP
- Experience with popular libraries like RxJava, Retrofit, OkHttp, and Dagger2
- Experience debugging Java/Kotlin native applications
- Experience publishing app(s) in the Google Play Store
- Experience with Material Design and can provide a meaningful contribution to the design process
- Experience with tools such as Gradle/Kotlin DSL’s for building Android applications/libraries
- Experience working in an Agile team environment and willingness to adapt
Preferred Experience:
- Passionate about designing and providing technical direction to the team via learning sessions and training presentations
- Knowledge of the Android SDK performance tools such as systrace or the Android Studio profiler to improve application performance
- Experience using Android Jetpack, ARCore, and MotionLayout