Software Engineer - Java
EPAM Systems · Bengaluru, Karnataka, India
Free to search · AI fit score against your CV · tailor your résumé in one click
EPAM Systems · Bengaluru, Karnataka, India
We're looking for a Software Engineer skilled in Java and Data Structures & Algorithms to become part of our engineering team, helping to build and deliver 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 in software development, testing, and implementation • A Bachelor's or Master's degree in Computer Science, Engineering, Information Systems, or a related STEM field • Strong grasp of Java 8, Data Structures & Algorithms, and Microservices • Solid background in REST APIs, JSON, and Kafka • Working knowledge of RDBMS and NoSQL technologies such as MongoDB, Redis, and PostgreSQL • Comfortable with Spring Boot, Maven, and GIT • Exposure to Jenkins, GitHub Actions, and Agile development methodologies • Solid grasp of Linux/Unix and Gradle/Maven • Track record of building scalable, low-latency applications using multi-threaded, asynchronous, and reactive programming • Direct experience deploying containerized applications to cloud environments using Kubernetes and Docker • Strong foundation in high availability techniques, profiling, and performance analysis • Sharp skills in Design Patterns, System Design, and Problem Solving