Senior Software Engineer - Java
EPAM Systems · Hyderabad, Telangana, India
Apply & track with Apply EdgeWe are seeking a Senior 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. ResponsibilitiesFunction as a member of a software engineering team by contributing to software builds through consistent development practicesDebug basic software components and identify code defects for remediationEnable the development, support, and monitoring of software across test, integration, and production environmentsAutomate deployments in test or production environmentsAdhere to security and regulatory requirementsDesign and contribute to API implementationsFollow best practices for automated unit, integration and regression testingParticipate in pull request reviews to ensure quality code deliveryBuild software as part of a nimble Agile team, with the opportunity to impact team goals and contribute to the overall architectureEnsure infrastructure is safely extensible, scalable, reliable and meets SLAs for both external and internal usersEnsure software solutions are testable, intuitive, and easy to maintain Requirements5 to 8 years of software development, testing and implementation experienceBachelor's or master's degree in Computer Science, Engineering, Information Systems, or a related STEM fieldProficiency in Java 8, Data Structures & Algorithms, and MicroservicesExpertise in REST APIs, JSON, and KafkaKnowledge of RDBMS & NoSQL database technologies such as MongoDB, Redis, and PostgreSQLSkills in Spring Boot, Maven, and GITFamiliarity with Jenkins, GitHub Actions, and Agile development methodologiesUnderstanding of Linux/Unix and Gradle/MavenHands-on experience implementing highly scalable, low latency software applications using multi-threaded, asynchronous & reactive programmingPractical experience deploying containerized software applications to cloud computing environments using Kubernetes and DockerBackground in high availability techniques, profiling, and performance analysis of applicationsCompetency in Design Patterns, System Design, and Problem Solving