About This Role
This engineering role focuses on developing, testing, and deploying microservices for supply chain finance modules, as well as building and maintaining Spark batch/streaming jobs. It suits a developer with strong Java and Spring Boot experience, ideally with some knowledge of Scala or Python, and experience with messaging queues and container technologies.
Responsibilities
- Develop, test, and deploy microservices for SCF modules: invoice ingestion, deal config, funder allocation, settlement, dynamic discounting
- Build and maintain Spark batch/streaming jobs for invoice reconciliation and portfolio analytics
- Integrate bank payment gateways and ERP connectors via Talend/REST APIs with idempotent, auditable flows
- Build Angular portal features for buyer approval, supplier self-service, and funder dashboards
- Write Jasper report templates for funder statements, utilisation reports, and regulatory disclosures
- Participate in code reviews, sprint ceremonies, and technical design discussions
- Maintain Kubernetes manifests; troubleshoot issues via Elasticsearch and Prometheus/Grafana
Requirements
- 4 to 7 years of software development experience
- Solid Java (Spring Boot) experience
- Production experience with Kafka, RabbitMQ, or MQ
- Working Docker and Kubernetes deployment knowledge
- Financial services, payments, or trade finance experience preferred
Nice to have:
- Scala (Akka, Play)
- Groovy (Gradle, Spock)
Important Details
- Team: Backend (Java 11/17+, Spring Boot 3.x, Spring Batch, Spring Cloud Gateway, JPA/Hibernate); Scala (Akka, Play); Groovy (Gradle, Spock); Frontend (Angular, TypeScript, RxJS, NgRx); Data & Messaging (Apache Spark, Kafka/RabbitMQ/ActiveMQ, Elasticsearch); Containers (Docker, Kubernetes, Terraform IaC review); Reporting & Integration (Jasper Reports, Talend ETL); Testing (JUnit 5, Mockito, Spock, REST-assured, SonarQube); Database (PostgreSQL, Oracle, or MongoDB, SQL optimisation, Flyway/Liquibase)