Software Engineer: Back-End II (Android / Payments)
Capitec
Capitec Group
Salary not specified - Full-time
Job Description
About the Role
As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving.
Responsibilities
- As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving.
- You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale.
Requirements
- Grade 12 National Certificate / Vocational
- 3+ years' proven experience in software development, project delivery and implementation, covering both native Android and back-end development
- Hands-on commercial experience building native Android applications in Java and/or Kotlin
- Practical experience with EMV protocol (contact and/or contactless)
- Working knowledge of ISO 8583 financial messaging
- Experience integrating hardware peripherals on Android
- card readers, NFC, PIN pads
- via AIDL / IPC
- Demonstrable experience building and maintaining server-side components, APIs and services that support transactional workloads
- Is able to apply advanced knowledge of the following:
- IT systems development processes (SDLC)
- Native Android application development and the Android SDK
- Advanced programming concepts
- Advanced algorithms and data structures
- Design Patterns
- Version Control
- Testing practices
- Database systems and query optimisation (e.g. SQL, NoSQL)
- RESTful API design and integration
- Cloud computing platforms and services (e.g. AWS, Azure)
- Advanced microservice and event-driven architectures
- Deployment using Kubernetes and containerisation
- Secure coding and transaction integrity within a payments environment
- Analytical Skills
- Attention to Detail
- Communications Skills
- Interpersonal & Relationship management Skills
- Problem solving skills
- Clear criminal and credit record
Preferred Qualifications
- A relevant tertiary qualification in Information Technology
- Additional experience with React Native or Ionic/Capacitor alongside native Android
- Exposure to PCI PTS / PA-DSS standards
- DUKPT or MK-SK key management
- Prior experience at a payment terminal vendor or fintech (e.g. PAX, Ingenico, Verifone, ECentric, Synthesis)