EPAM is a leading global provider of digital platform engineering and development services. We are committed to having a positive impact on our customers, our employees, and our communities. We embrace a dynamic and inclusive culture. Here you will collaborate with multi-national teams, contribute to a myriad of innovative projects that deliver the most creative and cutting-edge solutions, and have an opportunity to continuously learn and grow. No matter where you are located, you will join a dedicated, creative, and diverse community that will help you discover your fullest potential.
We are seeking a Lead Software Engineer – Java with Azure to join our team and contribute to a large, multi-module codebase spanning multiple repositories and integrations. The ideal candidate will thrive in a complex environment with multiple databases, Azure integrations, async messaging flows and a mix of legacy and modern modules, while driving technical excellence and product impact.
Responsibilities
-
Develop and maintain Java applications using the Spring ecosystem across a multi-module codebase
-
Design and implement RESTful APIs following OpenAPI specifications and best practices
-
Work with relational databases including writing queries, managing JPA/Hibernate and handling schema evolution
-
Build and maintain asynchronous, event-driven architectures using message queues
-
Manage containerized environments and CI/CD pipelines for deployment and orchestration
-
Integrate with Azure cloud services across various components of the platform
-
Write unit and integration tests with strong code coverage discipline
-
Identify and resolve technical issues such as stale dependencies, flaky tests, architectural drift and security gaps proactively
-
Participate in design decisions and push features forward with an end-user impact mindset
-
Articulate technical trade-offs, document decisions and maintain coding standards and architecture documentation
-
Collaborate across service boundaries with multiple teams and stakeholders
Requirements
-
8+ years of professional experience in Java and the Spring ecosystem (Spring Boot, Spring Data JPA, Spring Security)
-
Strong background in relational databases, specifically PostgreSQL, with expertise in JPA/Hibernate and Liquibase
-
Hands-on experience with Kubernetes clusters (kubectl, k9s) and containerized environments including Docker and AKS
-
Proficiency in CI/CD pipelines using GitLab CI
-
Familiarity with Azure cloud services such as Azure PostgreSQL, Azure Service Bus and Azure Key Vault
-
Knowledge of additional Azure services including Azure Blob Storage and Azure Identity (Managed Identity/UAMI)
-
Skills in asynchronous/event-driven architectures using message queues such as Azure Service Bus or Kafka
-
Expertise in RESTful API design, OpenAPI specifications and code generation
-
Competency in writing unit and integration tests with JUnit 5 and Mockito
-
Strong communication skills with the ability to thrive in complex environments and learn quickly
Nice to have
-
Familiarity with Spring Cloud (Config Server, Azure starters)
-
Knowledge of Resilience4j or similar circuit-breaker/retry libraries
-
Exposure to reactive programming with Spring WebFlux and Project Reactor
-
Understanding of Apigee or other API gateway platforms
We offer
-
Opportunity to work on technical challenges that may impact across geographies
-
Vast opportunities for self-development: online university, knowledge sharing opportunities globally, learning opportunities through external certifications
-
Opportunity to share your ideas on international platforms
-
Sponsored Tech Talks & Hackathons
-
Unlimited access to LinkedIn learning solutions
-
Possibility to relocate to any EPAM office for short and long-term projects
-
Focused individual development
-
Benefit package:
-
Health benefits
-
Retirement benefits
-
Paid time off
-
Flexible benefits
-
Forums to explore beyond work passion (CSR, photography, painting, sports, etc.)