E

Senior Software Engineer – Java

EPAM Systems · Coimbatore, Tamil Nadu, India

5–11 yrs experienceRemotefull_timePosted 1w ago
Apply now →

Job description

We are seeking a highly skilled and driven **Senior Software Engineer specializing in Java and Azure** who is ready to contribute to our cutting-edge projects. The ideal candidate will take ownership of delivering robust, scalable, and reliable backend solutions while collaborating across teams to meet business objectives in a fast-paced, dynamic environment. **Responsibilities** - Analyze user requirements to shape application design - Define application objectives and ensure alignment with business goals - Troubleshoot production issues and perform root cause analysis - Develop and test high-quality software, adhering to industry standards - Regularly update JIRA on project progress and task status - Debug and resolve complex technical challenges effectively - Design and execute scalable Java-based applications and microservices - Produce thorough design documentation to support team and stakeholders - Recommend application improvements and best practices - Continuously seek new technologies and trends to enhance skills and solutions - Navigate and manage end-to-end release processes efficiently **Requirements** - 5-8 years of hands-on experience with Java, open-source frameworks like Spring, and multithreaded application development, with added experience in Go Lang - Competency in creating and integrating APIs using REST/SOAP and exposure to binary payloads with frameworks such as Thrift or gRPC - Working knowledge of object-oriented programming and design patterns (core and enterprise) - At least 3 years of experience building and managing microservices and distributed systems at high scale - Expertise in resiliency patterns such as throttling, circuit breaker, and bulk heading, including CPU/memory profiling and error handling - Skills in monitoring/alerting tools such as Grafana, Kibana, Prometheus, Splunk, or Graphite with the ability to utilize dashboards and logs for debugging - Experience with version control systems like GIT and knowledge of monorepos is an advantage - Strong communication skills and proven ability to collaborate with cross-functional teams; excellent English communication is essential **Nice to have** - Deep understanding of Java resource optimization, memory management, and caching frameworks - Proficient troubleshooting skills for production issues, including root cause analysis - Advanced knowledge of Java Multithreading and Microservices architecture - Expertise in Java design patterns and best practices - Familiarity with tools and processes like Maven, Jenkins, GITLab/GitHub - Understanding of security concepts (authentication, authorization, SSL), web service proxies, and secured token exchanges