Full Stack Engineer
Описание от работодателя
SENIOR FULL STACK SOFTWARE ENGINEER
Java / JVM | Distributed Systems | Microservices | Kafka | APIs | Cloud
Cape Town OR JHB - Hybrid Working Arrangement
12-Month Contract possibility conversion
Senior Software Engineer / Technical Lead
We are looking for a highly technical Senior Full Stack Software Engineer to join a large-scale financial technology environment working on business-critical, high-volume systems .
This is not a traditional CRUD development role . We need an engineer who understands systems end-to-end — including applications, APIs, databases, messaging, distributed services, observability and production operations.
What You'll Be Doing
Design, develop and maintain scalable, resilient distributed applications
Work across backend and frontend development
Develop and integrate REST APIs and microservices
Work with event-driven architectures and messaging platforms
Design and optimise databases, queries and application logic
Troubleshoot complex production issues and perform root-cause analysis
Implement effective monitoring, logging, alerting and observability
Build and optimise systems handling high transaction volumes
Contribute to architectural and technical design decisions
Develop clean, maintainable and reusable code
Implement automated testing and CI/CD practices
Work with cloud and containerised environments
Participate in code reviews and engineering standards
Mentor developers and help raise the team's technical capability
Technical Experience
We are looking for strong experience in:
6 - 10 years' commercial software development
Full-stack software development
Java / JVM technologies — highly preferred
Spring Boot or equivalent backend frameworks
Distributed systems and microservice architecture
REST APIs and system integration
Event-driven architecture and messaging
Kafka — highly advantageous
Strong SQL and relational database knowledge, including query optimisation
Production troubleshooting and debugging
Observability, monitoring, logging and alerting
AWS and/or Azure
Docker and Kubernetes
CI/CD and automated testing
Software design principles, design patterns and clean architecture
Experience with other JVM technologies such as Scala will also be considered.
Strong .NET engineers will be considered where they can demonstrate genuine experience with distributed systems, messaging, cloud, APIs, databases and large-scale production environments.
What We're Looking For
The right person will:
Think beyond individual applications and understand systems end-to-end
Understand how applications, APIs, messaging, databases and infrastructure interact
Have experience working on real production systems at scale
Be able to diagnose complex technical problems independently
Understand scalability, resilience, failure handling and performance
Be comfortable going deep into the technical detail
Be able to explain why a technical solution works, not just which technology was used
Take ownership of system reliability and production performance
Be comfortable mentoring and supporting other engineers
Communicate technical concepts clearly with both technical and business stakeholders
Banking / Payments Experience
Experience in banking, payments, fintech or other high-volume financial environments is highly advantageous.
However, financial-services experience is not mandatory .
We will consider engineers from other environments where they have worked on large-scale, distributed, transaction-heavy or business-critical systems .
This Role Will Suit You If...
You enjoy understanding how the whole system works , not just writing code for an individual application.
You should be comfortable discussing:
Distributed Systems | Kafka | APIs | Databases | Microservices | Event-Driven Architecture | Scalability | Failure Handling | Observability | Cloud | Kubernetes | Production Troubleshooting
If you're a senior engineer who enjoys solving difficult technical problems and helping other engineers become stronger, we'd like to hear from you.