Nature and aim of the position
As an Android Developer, your primary responsibilities will be to develop applications for Android payment terminal, and to coordinate with the rest of the team working on different layers of the infrastructure. Therefore, a commitment to collaborative problem solving and quality product is essential.
Main duties and responsibilities
- Design, build, and maintain efficient, reusable, and reliable Java/Kotlin code
- Ensure the best possible performance, quality, and responsiveness of applications according to specifications and regulations
- Identify potential problems and resolving application bottlenecks and avoid application not response (ANR) issue.
- Help maintain code quality, organization, and automatization
- Continuously discover, evaluate and implement new technologies to maximize development efficiency Reporting and collaboration
- The holder of the position reports to a Product Development Manager.
- The holder of the position manages and works daily with CC terminal team
- The holder of the position collaborates with the other developers, QA testers and Business Units
Key competencies
- Minimum 2 to 5 years of working experience in Android application development.
- Experience with Android native development.
- Knowledge of Android SDK and the different versions of Android
- Familiarity with object-oriented programming (OOP) concepts and languages specially in JAVA and Kotlin
- Experience in Agile development (Jira, Confluence)
- Knowledge of RESTful APIs to connect Android applications to back-end services
- Knowledge of Android UI design, principles, patterns and best practices based on UI/UX design provided
- Familiar with computer networking, such as HTTP, TLS, DNS and TCP
- Excellent troubleshooting skills and optimizing the applications performance.
Specific skills & knowledge
- Knowledge and experience using RxJava
- Knowledge and experience in MVVM with Clean Architecture
- Demonstrates a strong customer orientation - actively seeks innovative ways to improve processes, products, and user experience
- Proven ability to quickly learn new applications, processes, and procedures
- Excellent verbal and written communication skills
- Ability to effectively collaborate with others to reach mutually agreeable outcomes
- Ability to work independently as well as with a team.
- Possess a "can do" attitude and positive outlook, minimizing negative behaviours
- Ability to communicate effectively in a multicultural, multinational environment and mobilize cross functional high-performance teams
- Strong knowledge of credit/debit card transaction processing, including online/offline transaction processing and back-end clearing/settlement, is essential
- Knowledge in multi-currency processing and settlement is an advantage
- Experience in CC terminal is an advantage.
- Fluent in English
Profile & Education
- Computer Science or Engineering degree or relevant work experience โข Solid understanding of Agile (SCRUM) development processes
- Experience in payment/finance industry will be an added advantage
- 2+ years of experience in developing native Android application
- Knowledge and experience in Dynamic Currency Conversion is an asset
- Understand the whole Android OS architecture