JAVA Backend, Scala
∙ 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
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
Skills
- ActiveMQ
- Agile
- Analytics
- API
- Api Design
- Cloud
- Docker
- Elasticsearch
- ERP
- ETL
- Financial Reporting
- Git
- GitLab
- Gradle
- Grafana
- Groovy
- Helm
- Hibernate
- Infrastructure as Code
- Java
- Jenkins
- Jira
- JPA
- JUnit
- Kafka
- Kubernetes
- Microservices
- Mockito
- MongoDB
- Oracle
- PostgreSQL
- Prometheus
- Python
- RabbitMQ
- REST
- Scala
- SonarQube
- Spark
- Spring
- SQL
- Talend
- Terraform
- Unit Testing