Senior / Lead Software Engineer – Java, Distributed Systems & Big Data
8-12yrs
Bangalore
About the Role
We are seeking a highly skilled Senior/Lead Software Engineer with strong expertise in Java, Spring Boot, Microservices, Distributed Systems, and Big Data technologies. In this role, you will design, develop, and optimize scalable, resilient, and high-performance applications that process large volumes of data and support mission-critical business functions
.The ideal candidate combines deep backend engineering expertise with hands-on experience in distributed computing, performance optimization, cloud-native architectures, and modern data platforms.
Key Responsibilities
- Design, develop, test, deploy, document, and maintain scalable full-stack and backend applications
- Architect and enhance microservices-based solutions with a focus on scalability, reliability, and maintainability
- Build and optimize distributed systems capable of handling high-throughput, low-latency workloads
- Design and implement event-driven architectures using Apache Kafka and streaming technologies
- Implement caching strategies using Redis and similar technologies to improve application performance
- Analyze and optimize application performance, memory utilization, JVM behavior, and system throughput
- Solve complex multithreading and concurrency challenges in large-scale distributed environments
- Develop large-scale data processing pipelines and analytics solutions using Big Data technologies
- Build and optimize Retrieval-Augmented Generation (RAG) solutions to power AI-driven chatbot experiences
- Collaborate closely with product managers, architects, and cross-functional teams to deliver business outcomes
- Participate in architecture reviews, technical design discussions, and code reviews
- Troubleshoot production issues and drive long-term reliability and operational improvements
- Champion engineering best practices, automation, testing, observability, and operational excellence
Required Qualifications
- Bachelor's or Master's degree in Computer Science, Engineering, or a related field
- 5+ years of professional software development experience
- Strong proficiency in Java and object-oriented design principles
- Hands-on experience with Java, Spring Boot, Spring Data, SQL, and Apache Kafka
- Experience designing, developing, and deploying microservices-based applications
- Strong understanding of distributed systems concepts, including
- Scalability
- Consistency model
- Fault tolerance
- High availability
- Distributed transactions
- Experience with Redis or similar distributed caching technologies
- Strong expertise in Apache Kafka and event-driven architectures
- Deep understanding of multithreading, concurrency, and JVM internals
- Experience with performance tuning, profiling, and application optimization
- Strong knowledge of RESTful APIs and service integration patterns
- Experience with relational and NoSQL databases
- Proficiency with Git, CI/CD pipelines, and modern software engineering practices
- Experience with Kubernetes, Docker, and container orchestration platforms
- Strong problem-solving, communication, and collaboration skills
- Ability to thrive in an Agile development environment
Good to Have Qualifications
- Experience with Big Data technologies such as Scala, Apache Spark, Google BigQuery, Google Dataproc, DBT, and AtScale
- Exposure to observability platforms and monitoring tools such as Prometheus and Grafana