Backend Engineer
Job Summary
This is a remote position.
We are recruiting an Intermediate Backend Engineer for a technology-led financial services organisation serving customers across Africa and international markets. The platform supports high-volume customer journeys financial transactions and partner integrations in a complex distributed environment.
This role is suited to an engineer who can own a backend domain end to end. You will write production-grade Java but you will also think beyond the language: how services interact how systems fail how APIs are consumed how data models affect performance and how architecture should evolve over time.
You will work remotely from South Africa/Africa /EU in a cross-functional engineering squad. You will do the following:
- Design build and maintain backend services and APIs used by internal teams external partners and customer-facing products.
- Own the quality and reliability of the services you build from solution design through deployment and production support.
- Write unit and integration tests as a core part of development rather than treating testing as a separate QA activity (TDD)
- Participate actively in architecture and system-design discussions contributing practical and well-reasoned technical perspectives.
- Review pull requests and use code review as both a quality control and a learning mechanism.
- Create and maintain technical documentation including OpenAPI specifications service READMEs and operational runbooks.
- Contribute to shared libraries reusable components and platform standards where your work has value across squads.
- Take part in backlog refinement planning stand-ups reviews and retrospectives with clear accountability for squad outcomes.
- Use AI and LLM tooling appropriately for code generation test creation debugging documentation and engineering productivity.
- At least 3 years of professional backend software engineering experience including a minimum of 2 years using Java in a production environment.
- Strong Java and Spring Boot capability including dependency injection Spring Security Spring Data transaction management and testing with Spring Test.
- Sound REST API design knowledge including versioning error handling idempotency pagination and backward compatibility.
- Experience designing and working with relational databases including schema design indexing query optimisation and performance-aware data modelling.
- A working understanding of distributed-systems concepts including eventual consistency idempotency retries circuit breakers and failure-mode thinking.
- Practical testing experience using JUnit and Mockito together with integration tests against a real database and an understanding of the test pyramid.
- Ability to write clean readable maintainable code and to explain technical decisions clearly to other engineers.
- Production experience with event-driven architecture using Kafka RabbitMQ or an equivalent messaging platform.
- Understanding of consumer groups offset management and at-least-once versus exactly-once delivery semantics.
- Experience in a microservices environment including service discovery API gateways inter-service communication and distributed tracing.
- Working familiarity with AWS and the runtime environment in which backend services are deployed.
- Experience with Docker and modern CI/CD practices.
- Exposure to Kotlin or another JVM language or a willingness to learn.
- Fintechpayments lending insurance or broader financial-services experience is required
- Understanding of reconciliation idempotent payment flows audit logging and other controls relevant to financial systems.
Candidates must submit a current CV together with a brief note outlining their experience with Java Spring Boot backend architecture and distributed systems online.
Required Skills:
Curious problem solver
Required Education:
BSC