…

Senior Software Engineer - Java with Data Structures & Algorithms

EPAM Systems · IT Services & Consulting

  • India
  • On-site
  • Posted 29 days ago
  • Software Engineering

About the job

We're looking for a Senior Software Engineer with deep knowledge of Java and Data Structures & Algorithms to become part of our software engineering team and help design, build, and deliver scalable, high-performance applications. Responsibilities Contribute to software builds as part of a software engineering team by applying consistent development practices Identify and remediate code defects through debugging basic software components Support the development, monitoring, and maintenance of software across test, integration, and production environments Set up automated deployments in test or production environments Comply with security and regulatory requirements Contribute to API design and implementation Apply best practices for automated unit, integration, and regression testing Take part in pull request reviews to maintain code quality Develop software within a nimble Agile team, with opportunities to shape team goals and influence overall architecture Ensure infrastructure remains safely extensible, scalable, and reliable while meeting SLAs for internal and external users Deliver software solutions that are testable, intuitive, and easy to maintain Requirements 5 to 8 years of experience in software development, testing, and implementation Bachelor's or master's degree in Computer Science, Engineering, Information Systems, or a related STEM field Strong command of Java 8, Data Structures & Algorithms, and Microservices Deep understanding of REST APIs, JSON, and Kafka Working knowledge of RDBMS and NoSQL database technologies, including MongoDB, Redis, and PostgreSQL Proficiency with Spring Boot, Maven, and GIT Experience with Jenkins, GitHub Actions, and Agile development methodologies Solid grasp of Linux/Unix and Gradle/Maven Direct experience building highly scalable, low-latency applications using multi-threaded, asynchronous, and reactive programming Practical background deploying containerized applications to cloud environments using Kubernetes and Docker Experience with high availability techniques, profiling, and performance analysis of applications Strong skills in Design Patterns, System Design, and Problem Solving