Role Overview
EPAM is a leading global provider of digital platform engineering and development services. We are seeking a Software Engineer with strong expertise in Java, Data Structures & Algorithms to join our software engineering team and contribute to the design, development, and delivery of scalable, high-performance applications.
Responsibilities
- Function as a member of a software engineering team by contributing to software builds through consistent development practices
- Debug basic software components and identify code defects for remediation
- Enable the development, support, and monitoring of software across test, integration, and production environments
- Automate deployments in test or production environments
- Adhere to security and regulatory requirements
- Design and contribute to API implementations
- Follow best practices for automated unit, integration and regression testing
- Participate in pull request reviews to ensure quality code delivery
- Build software as part of a nimble Agile team, with the opportunity to impact team goals and contribute to the overall architecture
- Ensure infrastructure is safely extensible, scalable, reliable and meets SLAs for both external and internal users
- Ensure software solutions are testable, intuitive, and easy to maintain
Requirements
- 4 to 6 years of software development, testing and implementation experience
- Bachelor's or master's degree in Computer Science, Engineering, Information Systems, or a related STEM field
- Proficiency in Java 8, Data Structures & Algorithms, and Microservices
- Expertise in REST APIs, JSON, and Kafka
- Knowledge of RDBMS & NoSQL database technologies such as MongoDB, Redis, and PostgreSQL
- Skills in Spring Boot, Maven, and GIT
- Familiarity with Jenkins, GitHub Actions, and Agile development methodologies
- Understanding of Linux/Unix and Gradle/Maven
- Hands-on experience implementing highly scalable, low latency software applications using multi-threaded, asynchronous & reactive programming
- Practical experience deploying containerized software applications to cloud computing environments using Kubernetes and Docker
- Background in high availability techniques, profiling, and performance analysis of applications
- Competency in Design Patterns, System Design, and Problem Solving
Skills
- Java
- Spring Boot
- Kafka
- Kubernetes
- Microservices
Benefits
- 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.)