About the position
ENVIRONMENT:
Our client is a leading South African Fintech company, driving a more inclusive and connected economy for over two decades. Through an extensive nationwide merchant network, they provide access to essential digital products and services — including airtime, electricity, bill payments, and other everyday transactions — helping bridge the gap for cash-based customers often excluded from traditional digital finance. The business has built deep roots in South Africa's informal retail sector, serving more than 25 million cash-based customers, and continues to expand through partnerships with major retail brands and corporates locally and internationally.
They are looking for a Senior Full Stack Developer to join a well-established Fintech platform, supporting and enhancing a multi-faceted technology stack and its third-party integrations. You'll bring technical leadership, hands-on delivery, and cross-functional collaboration with Solutions Architects, QA, and data science teams.
DUTIES:
- Work seamlessly with the team to solve complex technical problems within your area of expertise.
- Demonstrate exceptional proficiency in your engineering discipline, bringing depth and versatility to your craft.
- Consistently write code recognised by peers as well-structured, efficient, and maintainable.
- Proactively enhance the areas of code you work on, leaving systems better than you found them by optimising existing implementations.
- Take responsibility for managing and executing deployments with precision and care.
- Share expertise on systems to empower the team and foster a learning culture.
- Develop and maintain robust Disaster Recovery procedures to ensure system resilience and reliability.
- Work confidently with cross-functional teams (e.g., Design, Legal, Data, Risk) to communicate the developer team's work and ensure alignment with broader organisational goals.
- Regularly mentor less experienced developers, providing constructive feedback on designs and technical approaches; support onboarding of new developers.
- Escalate issues beyond your team or individual work scope when necessary, ensuring successful resolution through appropriate channels.
- Demonstrate expertise in non-functional aspects like accessibility, performance, and security, and advocate for and teach these practices.
- Work effectively and confidently, maintaining persistence in the face of ambiguity or uncertainty.
- Actively improve system observability by identifying and addressing gaps in alerts and runbooks.
- Consistently deliver high-quality work, ensuring timely completion of tasks while maintaining resilience to tackle challenges and blockers.
REQUIREMENTS:
Minimum Requirements
- 8+ years' experience in software development.
Technical Skills
- Java Spring Boot (Java/J2EE).
- Sound knowledge of OO design principles and patterns.
- Experience in RESTful web services.
- Experience with microservices architecture and design.
- Experience with Relational DBMS.
Advantageous Skills
- Java Spring Boot (Java/J2EE), with experience in Spring Batch.
- OAuth 2.0 authentication.
- Docker.
- DevOps methodology, including CI/CD pipelines (Azure & Kubernetes).
- Unit, integration, and load testing.
- RabbitMQ.
- Redis.
- Azure Cloud Services.
- Agile methodologies (Scrum, Kanban).
- Experience with SonarQube.
- Audit logging.
- Monitoring, system health checks, and metrics.
Desired Skills:
- Senior
- Software
- Developer