Senior Java Software Engineer
We are seeking a Senior Java Software Engineer who will design, build, and maintain scalable backend services and integrations, while occasionally providing support to a modern Angular/TypeScript web frontend. This position requires championing engineering best practices, supporting delivery planning efforts, and utilizing AI-assisted engineering tools like Microsoft Copilot to improve efficiency and quality, along with a basic understanding of AI architecture to help shape AI-enabled features and system design choices.
Responsibilities
- Architect, build, and sustain backend services in Java (8+) leveraging Spring Boot/Spring ecosystem and/or Quarkus
- Create and refine RESTful APIs, covering contracts, versioning, documentation, performance, and backward compatibility
- Handle persistence and data access through JPA/Hibernate (or Panache) paired with Microsoft SQL Server
- Develop and maintain integration flows via Apache Camel, encompassing routing, transformation, retries, error handling, and monitoring
- Implement microservices best practices, including defining service boundaries, resiliency patterns, and operational readiness
- Support CI/CD pipelines and release workflows through Git and Azure DevOps
- Leverage Microsoft Copilot on a daily basis for coding assistance, refactoring, test creation, and documentation, confirming outcomes via reviews and automated testing
- Engage in solution design conversations around AI-enabled features, contributing practical understanding of LLM integration fundamentals, grounding principles, and associated risks
- Deliver occasional frontend support in Angular/TypeScript, covering minor fixes, small enhancements, and debugging of API/UI interactions
- Assist with application operations within AWS-based environments, maintaining basic familiarity with IAM, logging, and monitoring
- Diagnose production and non-production issues, conduct root-cause analysis, and deliver lasting solutions
- Work alongside the team on delivery planning, estimation, and progress monitoring, participating actively in Agile ceremonies
- Guide team members through code reviews, pair programming, and knowledge transfer to strengthen engineering practices and consistency
Requirements
- Over 5 years of professional Java development background, including prior experience in a comparable senior engineering position within Banking
- Strong command of Java 8+, with solid OOP capabilities, design pattern knowledge, and clean coding habits
- Advanced expertise in Spring Boot, Spring MVC, Spring Data and/or Quarkus
- Proficiency in RESTful APIs, JPA/Hibernate (or Panache), and Maven
- Solid understanding of SQL and Microsoft SQL Server
- Hands-on experience with Apache Camel
- Comfortable with Git, Azure DevOps, and microservices architecture
- Clear grasp of CI/CD pipelines and DevOps methodologies
- Capable of working with Angular and TypeScript basics, including code review, debugging, and small-scale implementation
- Skilled in unit testing with JUnit and Mockito
- Demonstrates strong analytical, problem-solving, and communication abilities, with a proactive mindset and capacity to work autonomously
- Fluent in both written and spoken Greek and English
Nice to have
- Exposure to Docker/Kubernetes
- Understanding of cloud platforms such as Azure, AWS, or GCP
- Background working with Elastic Stack (ELK)
Benefits
For your comfortable work:
- Remote and hybrid work opportunities
- Option to work from our centrally located office in Athens
- Corporate laptop provided
- Private health insurance
- Meal vouchers / restaurant tickets
- My Benefit card (264€/year)
- Monthly public transportation card
For your growth:
- Global and diverse client portfolio, large-scale projects, and trendy technologies
- Diverse multicultural, multi-functional, and multilingual work environment
- Opportunity to contribute to internal and open-source products
- Outstanding career development opportunities with a transparent career path and a roadmap to accelerate your journey
- Possibility to create a Personal Development Plan from the first day in the company
- Numerous opportunities for self-development: hard & soft skills internal training courses, mentoring programs, and unlimited access to LinkedIn Learning courses, external e-Libraries
- Certification opportunities
- Knowledge-sharing with colleagues from EPAM's global tech and non-technical communities
- Language courses
Skills
- Agile
- AI
- Angular
- API
- AWS
- Azure
- Azure DevOps
- CI/CD
- Cloud
- Design Patterns
- DevOps
- Docker
- ELK
- GCP
- Git
- Hibernate
- IAM
- Java
- JPA
- JUnit
- Kubernetes
- LLM
- Maven
- Microservices
- Microsoft Copilot
- Mockito
- MVC
- OOP
- Quarkus
- REST
- Root Cause Analysis
- Solution Design
- Spring
- SQL
- SQL Server
- Test Automation
- TypeScript
- Unit Testing