- Working proficiency in developing Mobile Android application using the Java programming language, the Android Studio IDE and the Gradle build system.
- Secure coding practices
- Practical application of Design Patterns
- Very Good level of spoken and written English
- Bachelor's degree in Computer Science or related discipline OR equivalent experience
- Ability to plan your activity and execute accordingly
- Self-starter, self-dependent and pro-active
- Ability to “own” components of a system, carrying responsibility over them and driving improvements
- An adaptable and positive attitude
- A proficient problem solver
- Ability to provide good judgment under pressure
- Commitment to quality and a structured approach to the work
- Excellent team-worker
- Commercial experience with using Android system facilities like camera, fingerprint sensor, secure key storage and others
- Commercial experience with the C++ programming language, integration of C/C++ libraries into native Android applications and Android NDK is a big advantage
- Experience or a high level of interest in security and cryptography
- Experience with alternative Mobile Platforms as iOS or Windows Mobile
- Experience with SQL and/or non-SQL databases
- Experience with standard authentication methods and protocols as SAML and OpenID-Connect
- Mentoring more junior engineers
- Unit Testing and Mocking Frameworks
- Agile development methodologies
- You may be required to analyse business requirements from a variety of sources and assimilate and interpret into written business requirements and technical specification documents.
- Using agile methods, track, monitor, and appropriately manage the full development lifecycle for the code and the products that you and the team create.
- Investigate, analyze and document reported defects, and provide assistance for the test team in determining the root cause of collective groups of issues.
- Equally comfortable designing new greenfield solutions or performing maintenance and correction of defects.
- Produce efficient, effective secure and robust code and solutions, on schedule for the estimates you’ve given. Endeavour to provide accurate estimates.
- Assist in the implementation of automated test frameworks.
- Create and maintain technical documentation.
- Keep informed of business priorities and make decisions based on the shared business goals of the organization.
- Proactively perform other related duties as and when required.