11 Nov
|
Indium
|
Bengaluru
Java | React.js | Azure | Kubernetes | Distributed Systems
Experience 8+ Years
Role Senior Software Engineer / Technical Lead
Job Summary
We are looking for an experienced Java Microservices Developer with 8+ years of hands-on experience designing, developing, and deploying scalable, cloud-native applications. The ideal candidate will have strong expertise in Java, Spring Boot, microservices architecture, Microsoft Azure, and Kubernetes, with mandatory React.js knowledge comprising approximately 30% of the role. Proven experience working in distributed environments is essential.
The candidate should be comfortable building highly available, resilient, and secure applications, troubleshooting complex production issues, and collaborating with geographically distributed engineering teams.
Key Responsibilities
- Design, develop, and maintain scalable microservices using Java, Spring Boot, and related frameworks.
- Build RESTful APIs and integrate services across distributed systems.
- Design and implement cloud-native applications and deploy them on Microsoft Azure.
- Containerize applications using Docker and orchestrate deployments using Kubernetes.
- Use Azure Kubernetes Service (AKS) for application deployment, scaling, monitoring, and operational management.
- Implement resilience patterns such as circuit breakers, retries, timeouts, and fault tolerance.
- Develop asynchronous and event-driven integrations using Kafka, Azure Service Bus, or equivalent technologies.
- Implement authentication, authorization, API security, and secure service-to-service communication.
- Build and maintain CI/CD pipelines for automated builds, testing, deployment, and release management.
- Troubleshoot application, infrastructure, network, and performance issues across distributed environments.
- Implement monitoring, centralized logging, distributed tracing, and alerting.
- Collaborate with architects, DevOps engineers, QA teams, product owners, and globally distributed development teams.
- Participate in code reviews, technical design discussions, production support, and continuous improvement initiatives.
Required Technical Skills
1. Java and Backend Development
- Solid hands-on experience in Java 8 or above, preferably Java 17 or later.
- Expertise in Spring Boot, Spring MVC, Spring Security, and Spring Data.
- Strong understanding of object-oriented programming,
design patterns, collections, multithreading, and concurrency.
- Experience building and consuming REST APIs.
React.js (30% of the Role – Mandatory)
- Mandatory hands-on React.js knowledge, expected to account for approximately 30% of the role.
- Experience developing and maintaining UI components using React, JavaScript/TypeScript, hooks, and state management.
- Ability to integrate React front ends with RESTful APIs and troubleshoot end-to-end application issues.
- Understanding of responsive UI development, reusable components, and front-end debugging.
1. Microservices and Distributed Systems
- Strong experience designing and developing microservices-based applications.
- Understanding of service discovery, API gateways, load balancing, distributed transactions, and inter-service communication.
- Experience implementing resilience patterns, idempotency, retries, circuit breakers, and distributed caching.
- Knowledge of eventual consistency, data partitioning, and distributed system failure scenarios.
- Experience with messaging and event-driven architectures using Kafka, Azure Service Bus, or equivalent technologies.
1. Microsoft Azure
- Hands-on experience deploying and operating applications on Microsoft Azure.
- Experience with Azure Kubernetes Service (AKS), Azure Container Registry (ACR), Azure Monitor, and Azure Key Vault.
- Understanding of Azure networking, identity and access management, managed identities, and application security.
- Experience with Azure DevOps or equivalent CI/CD tooling.
1. Kubernetes and Containers
- Strong experience with Docker and Kubernetes.
- Hands-on experience deploying, scaling, and troubleshooting applications on Kubernetes.
- Knowledge of deployments, services, ingress, ConfigMaps, Secrets, probes, resource requests and limits, and autoscaling.
- Understanding of Helm charts and Kubernetes deployment strategies.
- Experience troubleshooting pod failures, networking issues, resource constraints,
and application restarts.
1. DevOps and Engineering Practices
- Experience implementing CI/CD pipelines and automated deployment workflows.
- Familiarity with Git, Maven or Gradle, automated testing, and code quality tools.
- Knowledge of application monitoring, centralized logging, and distributed tracing.
- Experience with infrastructure automation tools such as Terraform is desirable.
Distributed Environment Experience
- Proven experience developing and supporting applications across multiple services, systems, or deployment environments.
- Ability to troubleshoot latency, network failures, service dependencies, concurrency issues, and partial system failures.
- Experience collaborating with globally distributed teams across different time zones.
- Ability to work independently, communicate technical risks clearly, and coordinate cross-team dependencies.
- Experience supporting production applications with high availability, scalability, and reliability requirements.
Good to Have
- Experience with PostgreSQL, Oracle, SQL Server, or other relational databases.
- Knowledge of Redis or other distributed caching solutions.
- Experience with observability tools such as OpenTelemetry, Prometheus, Grafana, or Application Insights.
- Familiarity with OAuth 2.0, OpenID Connect, and enterprise security practices.
- Experience with Domain-Driven Design, Clean Architecture, and automated integration testing.
Education
Bachelor’s or Master’s degree in Computer Science, Information Technology, or a related discipline, or equivalent practical experience.
Ideal Candidate Profile The ideal candidate is a hands-on senior engineer who can independently design, develop, deploy, and troubleshoot enterprise-grade microservices in Azure Kubernetes environments. They should have a strong understanding of distributed systems, cloud-native architecture, production reliability,
Indium is an AI services company that helps enterprises build, scale, and innovate with cutting-edge technology. Backed by the prominent private equity firm EQT, Indium has spent 26 years providing excellence in digital engineering for Fortune 500 firms. With an "AI-first by design" approach, Indium specializes in Agentic AI, Data & Analytics, Application Engineering, and Quality Engineering.
📌 Senior Java Developer (Bengaluru)
🏢 Indium
📍 Bengaluru