Senior Software Engineer – Java
EPAM Systems · Pune, Maharashtra, India
Full-time · Senior · Posted 10 days ago
We are looking for an experienced Senior Software Engineer specializing in Java, REST API, and Spring Boot to join our collaborative development team. This position is ideal for someone passionate about building scalable, high-performance software applications while using modern tools, cloud environments, and continuous integration practices.
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, where you have every opportunity to impact team goals and contribute to the overall architecture
Ensure our infrastructure is safely extensible, scalable, reliable, and meets SLAs for both external and internal users
Ensure our software solutions are testable, intuitive, and easy to maintain
Requirements
5-8 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
Core competencies in modern programming languages such as Golang, Kotlin, and/or Java, including REST APIs, JSON, Kafka, RDBMS & NoSQL database technologies (such as MongoDB, Redis, and PostgreSQL), Spring Boot, Git, Jenkins, Linux/Unix, Gradle/Maven, and Agile development methodologies
Hands-on experience in implementing highly scalable, low-latency software applications using multi-threaded, asynchronous, and reactive programming
Practical experience deploying containerized software applications to cloud computing environments using technologies such as Kubernetes and Docker
Basic high-availability techniques and implementation knowledge
Experience in profiling/performance analysis of applications
Commitment to modern software practices such as Continuous Integration, automated/repeatable testing, and collaborative work environments
Familiarity with CI/CD automation tools such as Jenkins and GitHub Actions
Ability to think abstractly and deal with ambiguous/under-defined problems, enabling business capabilities through innovation
Demonstrated willingness to learn innovative technologies and pride in how quickly you develop working software
Excellent written and verbal communication skills