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 maintain scalable backend systems and integrations, while occasionally contributing to a modern Angular/TypeScript web interface. This position includes championing engineering best practices, supporting delivery planning efforts, and utilizing Microsoft Copilot for AI-assisted development to boost efficiency and quality. The role also involves providing core AI architecture knowledge to help guide AI-powered features and system design decisions.
Responsibilities
- Design, build, and maintain Java-based backend services (Java 8+) using the Spring Boot/Spring ecosystem and/or Quarkus
- Develop and enhance RESTful APIs, addressing contracts, versioning, documentation, performance tuning, and backward compatibility
- Manage persistence and data access layers using JPA/Hibernate (or Panache) integrated with Microsoft SQL Server
- Build and sustain integration workflows using Apache Camel, including routing, transformation, retry logic, error handling, and monitoring
- Apply microservices best practices such as defining service boundaries, implementing resiliency patterns, and ensuring operational readiness
- Support CI/CD pipelines and release processes using Git and Azure DevOps
- Use Microsoft Copilot in daily development tasks for coding support, refactoring, test generation, and documentation, ensuring quality via reviews and automated testing
- Participate in solution design discussions for AI-enabled features, applying practical understanding of LLM integration basics, grounding methods, and risk evaluation
- Provide occasional support for the Angular/TypeScript UI, including minor fixes, small improvements, and debugging API-UI interactions
- Support application operations within AWS environments, maintaining foundational knowledge of IAM, logging, and monitoring
- Troubleshoot issues across production and non-production environments, perform root-cause analysis, and implement durable fixes
- Collaborate with the team on planning deliverables, estimating work, tracking progress, and actively participating in Agile ceremonies
- Mentor team members through code reviews, pair programming, and knowledge sharing to promote strong, consistent engineering practices
Requirements
- 7+ years of professional Java development experience, including prior experience in a similar senior engineering role within Banking
- Strong proficiency in Java 8+, including solid grasp of OOP principles, design patterns, and clean coding standards
- In-depth experience with Spring Boot, Spring MVC, Spring Data, and/or Quarkus
- Proficient in building RESTful APIs, working with JPA/Hibernate (or Panache), and using Maven
- Strong understanding of SQL and Microsoft SQL Server
- Hands-on experience with Apache Camel
- Proficient with Git, Azure DevOps, and microservices architecture design
- Practical knowledge of CI/CD pipelines and DevOps practices
- Capable of working with Angular and TypeScript fundamentals, including reviewing code, troubleshooting, and making minor changes
- Experience writing unit tests using JUnit and Mockito
- Strong analytical, problem-solving, and communication skills, with a proactive attitude and ability to work independently
- Strong written and spoken skills in both Greek and English
Nice to have
- Experience with Docker and Kubernetes
- Knowledge of cloud platforms such as Azure, AWS, or GCP
- Experience using the Elastic Stack (ELK)
