Key Responsibilities
- Take part in the development and enhancement of an Open-Source SDK
- Be both an individual contributor with hands-on development responsibility, as well as a mentor and lead for a small developer team
- Contribute to the Open-Source community interaction, including participation in the discussion forums
- Review code contributions, review pull requests
- Create and maintain the documentation for the SDK
- Design and development a usable and functional Android reference app
- Hands-on Android development, including feature development, troubleshooting, debugging, problem solving and bug fixing
- Design and run your own unit test cases, integration test cases and test automation
- Analyze new requirements, investigate feasibility, suggest implementation options and estimate efforts timeline, dependencies and risks
- Collaborate closely with other development team members, including some being located at other parts of the world
Required Skills
- 9+ years of experience in the software development industry
- 5+ years of experience in Android development
- 5+ years of experience in Java and/or Kotlin, with strong programming and software engineering skills
- Good understanding of Android related programming patterns and OS facilities, including activities, fragments, views, lifecycles and UI components
- Experience with SQLite database development
- Excellent communication skills, especially written
- Experience in creating software architecture and design document, as well as externally-focused technical documentations
- Readiness to work in a global team with contributors from different backgrounds, skills and locations
- Experience in leading small technical teams
- Bachelor’s degree in Software/Computer Engineering, Computer Science or related field, or comparable relevant experience
Preferred Bonus Skills
- Experience in Design and Implementation of RESTful APIs
- Experience in Database design and implementation
- High proficiency in Kotlin, including multi-threading and synchronization (Kotlin coroutines)
- Experience in Open-Source development
- GitHub experience (Continuous Integration, GitHub routines)
- Real-life experience with mainstream commercial-grade mobile apps used by a broad user base (please provide links to app listings)
- Experience with Jetpack libraries (fragment library, recycler view)
- Familiarity with Java 8 libraries such as Java Time
- Hands-on experience in the Agile/Scrum development process
- Good understanding of OOPS concepts, design patterns, algorithms and data structures
- Good understanding of Material Design Language and human interface guidelines
- Experience with integrating mobile applications with cloud services
Understanding of app optimization including performance optimization Skills:- Android Development, Java, Kotlin, RESTful APIs, Material Design, Object Oriented Programming (OOPs), GitHub, SQLite and Jetpack