Looking for something else?
Find a vacancy that works for you. Send us your CV to receive a personalized offer.
Find me a jobWe are seeking a Java Software Engineer to design, build, and operate scalable backend services and integrations, while providing occasional support to a modern web front end (Angular/TypeScript). You will champion engineering best practices, support delivery planning, and apply AI-assisted engineering using Microsoft Copilot to improve speed and quality, bringing fundamental AI architecture knowledge to collaborate on AI-enabled features and system design decisions.
Responsibilities
- Design, develop, and maintain backend services in Java (8+) using Spring Boot/Spring ecosystem and/or Quarkus
- Design and evolve RESTful APIs, including contracts, versioning, documentation, performance, and backward compatibility
- Implement persistence and data access using JPA/Hibernate (or Panache) with Microsoft SQL Server
- Build and support integration flows using Apache Camel, including routing, transformation, retries, error handling, and monitoring
- Apply microservices best practices including service boundaries, resiliency patterns, and operational readiness
- Contribute to CI/CD pipelines and release processes using Git and Azure DevOps
- Use Microsoft Copilot as part of daily development for implementation support, refactoring, test generation, and documentation, while validating results via reviews and automated tests
- Participate in solution design discussions involving AI-enabled capabilities, bringing a practical understanding of LLM integration basics, grounding concepts, and risk considerations
- Provide rare UI support in Angular/TypeScript, including small fixes, minor enhancements, and debugging API/UI interactions
- Support application operation in AWS-based environments, with basic awareness of IAM, logging, and monitoring
- Troubleshoot production and non-production issues, perform root-cause analysis, and implement sustainable fixes
- Collaborate with the team on delivery planning, estimation, and progress tracking, and actively contribute in Agile ceremonies
- Mentor team members through code reviews, pairing, and knowledge sharing to help improve engineering practices and consistency
Requirements
- 3+ years of professional Java development experience, with previous experience in a similar senior engineer role in the Banking sector
- Proficiency in Java 8+, including strong OOP, design patterns, and clean code
- Expertise in Spring Boot, Spring MVC, Spring Data and/or Quarkus
- Skills in RESTful APIs, JPA/Hibernate (or Panache), and Maven
- Knowledge of SQL and Microsoft SQL Server
- Background in Apache Camel
- Familiarity with Git, Azure DevOps, and microservices architecture
- Understanding of CI/CD pipelines and DevOps practices
- Capability to work with Angular and TypeScript fundamentals, including reading, debugging, and implementing small changes
- Competency in unit testing using JUnit and Mockito
- Strong problem-solving, analytical, and communication skills, with a proactive attitude and ability to work independently
- Good command of written and spoken Greek and English
Nice to have
- Familiarity with Docker/Kubernetes
- Knowledge of cloud platforms such as Azure, AWS, or GCP
- Background in Elastic stack (ELK)
