Looking for something else?
Find a vacancy that works for you. Send us your CV to receive a personalized offer.
Find me a jobWe're looking for a Senior Java Software Engineer to architect, construct, and maintain scalable backend services and integrations, occasionally lending support to a modern Angular/TypeScript web front end. The role involves advocating for engineering best practices, assisting with delivery planning, and leveraging AI-assisted engineering through Microsoft Copilot to enhance speed and quality, with foundational AI architecture knowledge to contribute to 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 daily for implementation support, refactoring, test generation, and documentation, validating results through reviews and automated tests
- Participate in solution design discussions involving AI-enabled capabilities, bringing practical knowledge of LLM integration basics, grounding concepts, and risk considerations
- Provide occasional 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, actively contributing in Agile ceremonies
- Mentor team members through code reviews, pairing, and knowledge sharing to improve engineering practices and consistency
Requirements
- 5+ years of professional Java development experience, including prior experience in a similar senior engineer role within the Banking sector
- Proficient in Java 8+, with strong OOP skills, design patterns, and clean code practices
- Expert-level knowledge of Spring Boot, Spring MVC, Spring Data and/or Quarkus
- Skilled in RESTful APIs, JPA/Hibernate (or Panache), and Maven
- Knowledgeable in SQL and Microsoft SQL Server
- Experienced with Apache Camel
- Familiar with Git, Azure DevOps, and microservices architecture
- Understands CI/CD pipelines and DevOps practices
- Able to work with Angular and TypeScript fundamentals, including reading, debugging, and implementing small changes
- Competent in unit testing using JUnit and Mockito
- Possesses strong problem-solving, analytical, and communication skills, along with a proactive attitude and ability to work independently
- Has a good command of written and spoken Greek and English
Nice to have
- Familiar with Docker/Kubernetes
- Knowledgeable in cloud platforms such as Azure, AWS, or GCP
- Experienced with Elastic Stack (ELK)
