Senior Software Engineer – Java with Spring Boot
Office in Bangalore, Hyderabad
Java
& others
We are seeking a skilled and experienced Senior Software Engineer to join our team, specializing in Java and Spring Boot.
This role will involve developing scalable, high-performance software solutions while collaborating with cross-functional teams. As a key contributor, you will work on enhancing the OneSource Platform Technology streams and ensure seamless integration with enterprise systems.
Responsibilities
- Design and implement software solutions using Java, Spring, Spring Boot, and SQL
- Collaborate with cross-functional teams to gather requirements and identify areas for improvement
- Create high-performance, scalable code for the OneSource Platform Technology streams
- Conduct unit tests and document code to meet high-quality deliverable standards
- Participate in customer and project interviews to gather feedback and refine technical requirements
- Implement APIs using REST and SOAP and ensure seamless integration of binary payloads via frameworks like Thrift or gRPC
- Apply knowledge of object-oriented programming and design patterns, including core (Gang of Four) and enterprise-level patterns
- Develop and maintain microservices for distributed computing systems at scale, ensuring resiliency and error-handling mechanisms like throttling, circuit breakers, and bulkheading
- Monitor, debug, and analyze application performance using tools such as Grafana, Kibana, Prometheus, Splunk, and Graphite
- Work with version control systems like GIT and monorepos for effective repository management
- Engage with multiple teams and stakeholders to collaborate effectively, demonstrating excellent communication skills in English
Requirements
- At least 5 years of experience in Java and open-source frameworks like Spring, with knowledge of multithreaded applications and optional Go Lang expertise
- Strong competency in backend coding, inclusive of data structures, algorithms, and microservices-based architectures
- Expertise in developing and integrating APIs with protocols such as REST, SOAP, and binary RPC frameworks like Thrift or gRPC
- Understanding of distributed computing systems and patterns, including profiling for CPU/memory
- Competency in monitoring tools like Grafana, Kibana, Prometheus, Splunk, or Graphite and debugging through logs and dashboards
- Background in resilient systems development, covering error handling and performance optimization
- Experience in version control systems like GIT, with additional familiarity with monorepository strategies
- Capability to work effectively in Agile environments, collaborating seamlessly with various external parties
- Proficiency in English communication, both written and verbal
Nice to have
- Knowledge of queue-based technologies such as Kafka
- Skills in working with databases, including RDBMS and NoSQL options like DynamoDB, Cassandra, or MongoDB
- Background in consulting or product-based companies, with exposure to Agile processes like Scrum or Kanban
- Familiarity with CI/CD concepts and cloud technologies like microservices-based architecture