Java Software Engineer
We're looking for a Java Software Engineer to architect, construct, and maintain scalable backend systems and integrations, with occasional involvement in supporting a contemporary Angular/TypeScript web interface. The role involves advocating for engineering excellence, assisting with delivery planning, and leveraging Microsoft Copilot for AI-assisted development to enhance efficiency and quality, along with contributing foundational AI architecture expertise to help shape AI-driven features and system design choices.
Responsibilities
- Build, design, and maintain Java-based backend services (Java 8+) leveraging Spring Boot/Spring ecosystem and/or Quarkus
- Create and refine RESTful APIs, covering contracts, versioning, documentation, performance optimization, and backward compatibility
- Handle persistence and data access layers through JPA/Hibernate (or Panache) connected to Microsoft SQL Server
- Develop and maintain integration workflows with Apache Camel, covering routing, transformation, retry mechanisms, error handling, and monitoring
- Follow microservices best practices, including defining service boundaries, implementing resiliency patterns, and ensuring operational readiness
- Help maintain CI/CD pipelines and release workflows through Git and Azure DevOps
- Incorporate Microsoft Copilot into regular development work for coding assistance, refactoring, test creation, and documentation, ensuring quality through reviews and automated testing
- Engage in solution design conversations around AI-enabled features, applying practical knowledge of LLM integration fundamentals, grounding techniques, and risk assessment
- Offer occasional support for the Angular/TypeScript UI, handling minor fixes, small enhancements, and debugging API-UI interactions
- Assist with application operations within AWS environments, maintaining basic familiarity with IAM, logging, and monitoring practices
- Diagnose issues in both production and non-production environments, conduct root-cause analysis, and deliver lasting solutions
- Work alongside the team on planning deliverables, estimating effort, tracking progress, and participating actively in Agile ceremonies
- Guide team members through code reviews, pair programming, and knowledge sharing to strengthen engineering practices and consistency
Requirements
- At least 3 years of professional Java development experience, including prior work in a comparable senior engineering position within Banking
- Strong command of Java 8+, encompassing solid OOP principles, design patterns, and clean coding practices
- Deep expertise in Spring Boot, Spring MVC, Spring Data, and/or Quarkus
- Skilled in building RESTful APIs, working with JPA/Hibernate (or Panache), and using Maven
- Solid understanding of SQL and Microsoft SQL Server
- Experience working with Apache Camel
- Comfortable using Git, Azure DevOps, and designing microservices architectures
- Working knowledge of CI/CD pipelines and DevOps methodologies
- Ability to engage with Angular and TypeScript basics, including code review, troubleshooting, and making small modifications
- Experience writing unit tests with JUnit and Mockito
- Excellent analytical, problem-solving, and communication abilities, paired with a proactive mindset and independent work capability
- Strong written and verbal proficiency in both Greek and English
Nice to have
- Exposure to Docker and Kubernetes
- Familiarity with cloud platforms like Azure, AWS, or GCP
- Experience with the 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
- Risk Assessment
- Root Cause Analysis
- Solution Design
- Spring
- SQL
- SQL Server
- Test Automation
- TypeScript