Objective
The project aims to modernize a legacy mainframe batch processing system by migrating it to a modern Java-based platform using Spring Batch. The goal is to replace traditional JCL jobs with scalable Java applications capable of handling large volumes of financial data.
Current State:
- Approximately 210 batch jobs running on mainframe (JCL based)
- Dependence on legacy frameworks and scheduling tools
- Full reliance on mainframe systems
Target State:
- Consolidation into approximately 14–40 Spring Batch jobs
- Implementation using Java 17+, Spring Boot, and Spring Batch
- Deployment via Docker and Kubernetes
- Elimination of mainframe dependency
Business Context
The system processes business-critical financial and operational data, including bank statements, payment processing, reconciliation, insurance-related flows, reporting, and data archiving. The focus is on backend processing rather than user-facing applications.
Migration Approach
The migration focuses on reusing existing Java-based business logic while removing legacy infrastructure. Around 60–70% of the existing codebase (actions and entities) will be reused, significantly reducing development effort. Legacy orchestration and frameworks will be replaced with Spring Batch job configurations.
Technology Stack
- Java 17+
- Spring Boot
- Spring Batch
- JPA / Hibernate
- Oracle or PostgreSQL databases
- Docker and Kubernetes
- CI/CD pipelines (Azure DevOps or GitHub Actions)
- Monitoring tools such as Prometheus and Micrometer
Key Technical Concepts
- Batch processing of large datasets
- Chunk-based processing (handling thousands of records per transaction)
- Parallel and multi-threaded execution
- Error handling with retry and skip mechanisms
- Job scheduling and orchestration
- Data validation and reconciliation logic
Development Responsibilities
Developers will design and implement Spring Batch jobs, refactor existing logic into structured components (ItemReader, ItemProcessor, ItemWriter), configure scheduling, manage file and database processing, and optimize performance for large-scale data processing.
Scale and Effort
The project has medium to high complexity due to legacy system dependencies, large data volumes, and critical financial processing requirements. However, risk is mitigated through reuse of existing Java logic and the use of a mature framework like Spring Batch.
Ideal Candidate Profile
Required Skills:
- Strong Java and Spring Boot knowledge
- Experience with batch or data processing systems
- Solid SQL knowledge
Nice to Have:
- Experience with Spring Batch
- Background in legacy modernization projects
- Exposure to financial systems or ETL workflows
- Knowledge of containerization and Kubernetes
Tarrif: 35 Eur/h+VAT
The project starts on July 1st.