Java Software Engineer
Posted Updated 4
views
Description
We 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)
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
- Apache Camel
- 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