Senior Software Engineer
epam
Job Description
-
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
-