Lead software design, prototype, and development of Android apps.
Contribute best-in-class programming skills to develop highly innovative, consumer-facing mobile apps.
Write clean, maintainable code and performing peer code-reviews
Work with other team members to investigate design approaches, prototype new technology and evaluate technical feasibility
Work in an Agile/Scrum environment to deliver high quality software against aggressive schedules
Establish architectural principles, select design patterns and then mentor team members on their appropriate application
Work closely with product and design teams to customize our app
Facilitate and drive communication between mobile engineers and back-end engineers
Qualifications:
Bachelor's degree or above in Computer Science
5+ years building complex, high quality Android applications, and have a strong knowledge of Android app design principles, patterns, and best practices
Strong proficiency with Java, Kotlin, and the Android development ecosystem
Deep understanding of Android platform, including different device capabilities, battery life, performance, and notifications.
Robust knowledge of Java, RxJava, RxBinding, Dependency Injection, Android SDK, and Android Studio.
Experience writing tests for Android with JUnit and Espresso
Experience with architectures like MVP and MVVM
Experience with Android frameworks/tools such as Dagger 2, Picasso
Ability to communicate complicated technical problems to both technical and business audiences
Strong knowledge of REST architecture and distributed systems
Experience integrating mobile clients with microservices (REST based APIs)
Bias for a shift-left, test driven development
Strong customer focus, ownership, urgency and proactivity
Preferred Technology Experience:
Experience with Amazon Web Services (AWS), Java or Spring
Test automation framework experience across multiple mobile platforms, such as Selenium and Appium
Continuous Integration using Jenkins
Experience with distributed databases such as Couchbase or Realm
Experience with tools like Jira, Bitbucket, Confluence