Java Developer - EMV Kernel & Payments
Contract Java developer embedded in a major bank's payments engineering team in Cape Town, building and maintaining payment processing components with a focus on EMV kernel integration, card-present and contactless transaction flows, and POS/ATM-to-core-banking integrations, including certification work against EMVCo, Visa, and Mastercard requirements.
- Compensation
- Not disclosed
- Location
- Cape Town, South Africa
- Work setup
- Not specified
- Seniority
- Not specified
- Employment
- Contract
- Experience
- 5+ years
- Category
- Software engineering
- Posted
Skills
Must have
- 5-8 years hands-on Java development with strong OOP fundamentals, design patterns, and clean code practices
- Experience in a payments, fintech, or banking engineering environment
- Familiarity with payment processing concepts: authorisation flows, settlement, reconciliation, ISO 8583 or ISO 20022 messaging
- Ability to read and work with complex integration specifications and payment scheme documentation
- Experience with REST and/or SOAP web services and API integration
- Solid understanding of secure coding practices for financial systems (cryptography, key management, TLS/SSL)
- Experience with CI/CD pipelines and version control (Git, Bitbucket, Jenkins or equivalent)
- Strong debugging and problem-solving skills across infrastructure and application layers
Nice to have
- Direct EMV Kernel development or integration experience - contactless, chip card transaction logic
- Experience with softPOS, POS terminal development, or ATM software
- Knowledge of EMVCo specifications and payment scheme certification processes (Visa, Mastercard, Amex)
- Experience with payment terminal SDKs or kernel libraries (e.g. Nexo, NFC/contactless stack)
- Exposure to HSM integration or payment cryptography
- Cloud exposure (AWS or Azure) in a banking or payments context
- Takes ownership and drives solutions; willingness to learn the full payments stack including infrastructure components
Full description
Be part of our team of Data Specialists and embark on a career of the future!
PBT Group is looking for an experienced Java Developer with hands-on EMV Kernel and payments domain experience for a contract engagement based in Cape Town. The role sits within a major banking environment and requires someone who combines strong Java engineering skills with deep knowledge of the payments stack - from card-present transaction processing through to EMV kernel integration, certification, and infrastructure.
The Java Developer will be embedded within the bank's payments engineering team, contributing to the development, integration, and maintenance of payment processing systems with a specific focus on EMV Kernel functionality. The role requires the ability to work across the full payments stack - from terminal-level transaction logic through to core banking integration - and to engage credibly with both engineering and payments domain specialists.
Key Responsibilities
- Develop, maintain, and enhance Java-based components within the payments processing stack
- Work on EMV Kernel integration and transaction processing logic across chip-based and contactless payment flows
- Build and maintain integrations between payment terminals, POS/ATM devices, and core banking systems
- Implement and maintain transaction processing workflows including FNOL, authorisation, settlement, and reconciliation
- Contribute to EMV certification processes and compliance with EMVCo, Visa, Mastercard, and local payment scheme requirements
- Debug and resolve complex issues across the payments stack, including terminal-level and kernel-level transaction failures
- Write clean, well-tested Java code with appropriate unit and integration tests
- Collaborate with payments domain specialists, infrastructure engineers, and business stakeholders
- Contribute to technical documentation covering payment flows, integration specs, and architecture decisions
- Proactively upskill on infrastructure components and payment stack layers not directly within your immediate experience
Required Skills & Experience
- 5-8 years' hands-on Java development experience - strong OOP fundamentals, design patterns, and clean code practices
- Experience in a payments, fintech, or banking engineering environment
- Familiarity with payment processing concepts – authorisation flows, settlement, reconciliation, ISO 8583 or ISO 20022 messaging
- Ability to read, understand, and work with complex integration specifications and payment scheme documentation
- Experience with REST and/or SOAP web services and API integration
- Solid understanding of secure coding practices relevant to financial systems (cryptography, key management, TLS/SSL)
- Experience with CI/CD pipelines and version control (Git, Bitbucket, Jenkins, or equivalent)