Senior Java Software Engineer
Key Responsibilities
- Design, develop, and maintain scalable backend applications using Java (11/17+), Spring Boot, and Microservices architecture.
- Develop secure, high-performance REST APIs and integrations with internal and external systems.
- Design and implement event-driven solutions using Kafka, RabbitMQ, or similar messaging platforms.
- Build and optimize data solutions using SQL and NoSQL databases (PostgreSQL, Oracle, MongoDB, Redis, etc.).
- Collaborate with architects and cross-functional teams to deliver resilient, cloud-native applications.
- Implement automated testing, code quality, and CI/CD practices using tools such as JUnit, Mockito, Jenkins, GitHub Actions, or GitLab CI.
- Deploy and manage applications on Kubernetes, OpenShift, Docker, and public cloud platforms (AWS/Azure/GCP).
- Own production releases, deployment planning, validation, rollback strategies, and change management activities.
- Participate in on-call rotations and provide 24x7 support for critical production systems.
- Lead troubleshooting and resolution of production incidents, including Sev1/Sev2 incidents, ensuring SLA compliance.
- Perform root cause analysis (RCA), post-incident reviews, and drive preventive measures to improve system reliability.
- Monitor application health and performance using observability tools such as Splunk, Grafana, Prometheus, Dynatrace, ELK, or AppDynamics.
- Optimize application scalability, performance, availability, and security across distributed environments.
- Conduct code reviews, mentor junior developers, and promote engineering best practices.
- Contribute to technical documentation, operational runbooks, architecture reviews, and continuous improvement initiatives.
Required Skills
- 8+ years of Java backend development experience.
- Strong expertise in Java, Spring Boot, Spring Data JPA, Hibernate, and Microservices.
- Experience with Kafka/RabbitMQ, REST APIs, Docker, Kubernetes/OpenShift.
- Strong knowledge of SQL/NoSQL databases and distributed systems.
- Hands-on experience with cloud platforms (AWS, Azure, or GCP).
- Experience managing production deployments, incident handling, and on-call support.
- Familiarity with monitoring, logging, and observability tools.
- Strong understanding of CI/CD, DevOps practices, and Agile delivery methodologies.