EPAM is a leading global provider of digital platform engineering and development services. We are committed to having a positive impact on our customers, our employees, and our communities. We embrace a dynamic and inclusive culture. Here you will collaborate with multi-national teams, contribute to a myriad of innovative projects that deliver the most creative and cutting-edge solutions, and have an opportunity to continuously learn and grow. No matter where you are located, you will join a dedicated, creative, and diverse community that will help you discover your fullest potential.
We are seeking a highly skilled Senior Software Engineer with expertise in Java and Go language to join our dynamic team.
Want more jobs like this?
Get jobs in Bangalore, India delivered to your inbox every week.
The ideal candidate will contribute to the development and enhancement of complex software solutions in a collaborative and fast-paced environment.
#LI-DNI#EasyApply
Responsibilities
- Design and implement scalable backend solutions using Java, Spring, and Go language
- Develop and maintain microservices and distributed computing-based architectures
- Create, integrate, and manage APIs using REST and SOAP protocols; utilize Thrift or gRPC for binary payloads
- Write robust, efficient code with a strong understanding of data structures and algorithms
- Employ object-oriented programming techniques and apply core and enterprise design patterns effectively
- Implement resiliency measures such as throttling, circuit breakers, and bulkheading in software solutions
- Tackle profiling tasks focused on CPU and memory optimizations
- Collaborate with multiple teams and stakeholders to ensure project alignment and successful execution
- Monitor system performance using tools like Grafana, Kibana, Prometheus, Splunk, and Graphite and troubleshoot issues efficiently
- Manage code repositories using GIT, with experience in monorepos being beneficial
- Minimum 5 years of professional experience in Java, with additional qualifications in Spring and multithreaded applications
- At least 3 years of experience in developing and maintaining high-scale microservices and distributed computing-based architectures
- Proven expertise in proficiencies with REST and SOAP protocols, along with Thrift or gRPC RPC frameworks
- Strong competency in object-oriented programming and familiarity with core and enterprise design patterns
- Demonstrated knowledge in handling resiliency and error handling in software applications
- Capability to profile and optimize CPU and memory usage within applications
- Proficiency in monitoring and debugging applications using tools such as Grafana, Kibana, Prometheus, Splunk, and Graphite
- Excellent English communication skills and experience in collaborating with external parties
- Experience with queue-based technologies like Kafka
- Coding expertise on database technologies such as RDBMS and NoSQL (DynamoDB, Cassandra, Mongo)
- Opportunity to work on technical challenges that may impact across geographies
- Vast opportunities for self-development: online university, knowledge sharing opportunities globally, learning opportunities through external certifications
- Opportunity to share your ideas on international platforms
- Sponsored Tech Talks & Hackathons
- Unlimited access to LinkedIn learning solutions
- Possibility to relocate to any EPAM office for short and long-term projects
- Focused individual development
- Benefit package:
- Health benefits
- Retirement benefits
- Paid time off
- Flexible benefits
- Forums to explore beyond work passion (CSR, photography, painting, sports, etc.)