Responsibilities
- Help design, develop, and maintain complex mobile applications
- Develop with a focus on app performance and maintaining responsive UI
- Work with backend API developers
- Collaborate with product management, technical writers, and user experience designers
- Handle individual project priorities, deadlines and work you're doing
- Contribute to software quality, performance, and resilience through code reviews, test-driven development, continuous integration, and documentation
Technical skills
- 3-5 years experience in native Android development
- Familiarity with Android design principles, patterns, and best practices
- Experience working with Kotlin & Java
- Experience consuming REST APIs
- Expert understanding of the Android System APIs, Android app lifecycle
- Knowledge of open-source and commercial libraries commonly used in the Android ecosystem, including Android architecture components, jetpack libraries, okhttp, retrofit, dagger
- Developed and launched large scale consumer mobile applications
- Experience with unit testing
- Ability to think of the customer and the business in order to solve problems and get stuff done
- Strong team player with excellent communication skills in English
- Experience mentoring other engineers and sharing your expertise
- Familiarity with Agile Scrum/Kanban software development methodologies
Nice to have
- Experience with using RxJava, Clean Architecture principles
- Ability to make independent decisions based on product requirements.
- Testing skills (Unit tests, integration tests. Knowledge in testing frameworks)
- Ability to manage complexity in a large project, and incur technical debt only after considering the tradeoffs.