What Makes Us Who We Are Today…
At EPiC we develop innovative and creative products and services that provide total communication and information solutions. Among a plethora of services, web design and development, tailor-made applications, business-to-business applications, and business-to-client applications are just a few of the solutions we deliver. Satisfied clients in Greece and Ireland bear testimony to the quality of our work.
The general purpose of EPiC is to develop and promote advanced information technologies for multi-user operation.
EPiC's business philosophy is to ensure the highest quality products, total client satisfaction, timely delivery of solutions, and the best quality-to-price ratio in the industry. Our emphasis is on delivering user-friendly solutions through a positive, creative, and focused team.
The Role
We are looking for an Application Developer to join our team and contribute to large-scale projects in the banking sector.
You will be responsible for designing and developing enterprise batch processing applications that support high-volume transaction processing, data integration, and reconciliation, while contributing to the modernization of critical banking systems.
Responsibilities
- Design, develop, and maintain Spring Batch applications for large-scale data and transaction processing.
- Build and optimize batch jobs for high-volume processing and reconciliation flows.
- Develop ETL and data transformation processes integrated with core banking systems.
- Participate in the modernization and decomposition of legacy batch processing systems.
- Implement scheduling, monitoring, restartability, and fault-tolerant processing mechanisms.
- Develop integrations with core banking systems, external payment networks, databases, file-based interfaces, and internal services.
- Contribute to performance optimization and troubleshooting of batch execution flows.
- Collaborate with architects, business analysts, DevOps, and integration teams.
- Leverage AI-assisted development tools to improve productivity and code quality.
Required Skills
- 5 years of experience in Java development.
- Strong hands-on experience with Java 17 , Spring Framework, Spring Boot, and Spring Batch.
- Experience developing enterprise batch processing applications.
- Solid understanding of batch processing concepts, transaction management, restart and recovery mechanisms, error handling, and performance optimization.
- Experience with Oracle Database and SQL.
- Experience processing files such as CSV, XML, and fixed-width formats.
- Familiarity with scheduling tools such as Control-M, Quartz, or similar.
- Understanding of distributed systems and data consistency principles.
- Experience with Git and CI/CD pipelines.
- Experience using AI-powered development tools in day-to-day software development.
- Good command of English (written and spoken).
Nice to Have
- Experience with Kafka or other messaging technologies such as IBM MQ or RabbitMQ.
- Experience with OpenShift, Kubernetes, or Docker.
- Familiarity with observability tools such as ELK.
- Experience working in Agile environments using Jira and Confluence.
- Experience in the banking or financial services sector.
- Ability to collaborate effectively with distributed teams using tools such as Microsoft Teams or Slack.
- Fluency in Greek.
Benefits
- A full compensation &
benefits package.
- Work in an international, dynamic and collaborative environment at a growing company.
- Opportunity to work with highly experienced professionals on state-of-the-art banking and enterprise projects in Greece and abroad.