backGo to search

Senior Software Engineer – Java with Go Language

hot
bullets
Java, Java 8, Go Language, REST API, Microservice Architecture Pattern, Unit Testing, Spring Boot
bullets
Hyderabad, Bangalore

We are seeking a highly skilled Senior Software Engineer with expertise in Java and Go language to join our dynamic team.

The ideal candidate will contribute to the development and enhancement of complex software solutions in a collaborative and fast-paced environment.

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
Requirements
  • 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
Nice to have
  • Experience with queue-based technologies like Kafka
  • Coding expertise on database technologies such as RDBMS and NoSQL (DynamoDB, Cassandra, Mongo)