Job description

- Core Backend: Java 11/17+ (Spring Boot 3.x, Spring Batch, Spring Cloud Gateway, JPA/Hibernate); Scala (Akka Actors, Akka Streams, Play Framework) - Data & Messaging: Apache Spark (batch invoice processing, portfolio analytics); Kafka (producers, consumers, Streams API); Elasticsearch - Database: PostgreSQL, Oracle, or MongoDB; SQL optimisation; Flyway/Liquibase migrations - Containers & IaC: Docker, Kubernetes (Helm awareness), Terraform IaC review - Reporting & Integration: Jasper Reports; Talend ETL for bank/ERP integrations; RESTful API design - Testing: JUnit 5, Mockito, ScalaTest/Specs2, Spock, REST-assured, SonarQube - Agile & Tooling: Jira, Git (GitFlow/trunk-based), Jenkins/GitLab CI; Groovy (Gradle, Spock) **Key Responsibilities** - Develop, test, and deploy Java/Scala microservices for SCF modules: invoice ingestion, deal config, funder allocation, settlement, dynamic discounting. - Build and maintain Spark batch/streaming jobs for invoice reconciliation, portfolio analytics, and financial reporting. - Design and implement Kafka-based event pipelines for real-time invoice processing and multi-funder allocation. - Integrate bank payment gateways and ERP connectors via Talend/REST APIs with idempotent, auditable flows. - Write Jasper report templates for funder statements, utilisation reports, and regulatory disclosures. - Participate in code reviews, sprint ceremonies, and technical design discussions; maintain unit test coverage 80%. - Maintain Kubernetes manifests; troubleshoot production issues via Elasticsearch and Prometheus/Grafana. **Requirements** - 3–7 yrs backend software development (Mid: 3–5 yrs; Senior: 5–7 yrs). - Strong Java (Spring Boot); Scala (Akka, Play) required. - Production experience with Kafka or equivalent messaging (RabbitMQ, ActiveMQ). - Hands-on Apache Spark for batch or streaming data processing. - Working Docker and Kubernetes deployment knowledge. - Financial services, payments, or trade finance experience preferred. - Good to have: Groovy (Gradle, Spock); Talend ETL; Jasper Reports; Python for data scripting