We are seeking an experienced Java Developer with strong expertise in building scalable, secure, and high-performance applications using Java, Spring Boot, and modern cloud technologies. The ideal candidate will have hands-on experience with microservices, API development, database technologies, DevOps practices, and cloud-native application development.
Primary Responsibilities
- Develop, enhance, and maintain enterprise applications using Java, Spring Boot, and related Java technologies.
- Design and implement scalable REST APIs, microservices, and backend services following industry best practices.
- Apply strong knowledge of object-oriented programming, design patterns, secure coding practices, and application architecture.
- Build cloud-ready applications using Docker, Kubernetes/AKS, and Azure cloud services.
- Develop and maintain CI/CD pipelines, deployment automation, and release processes.
- Implement messaging and event-driven solutions using Kafka or Azure Event Hubs.
- Work with relational and NoSQL databases such as PostgreSQL, MySQL, and Cosmos DB, including query optimization and performance tuning.
- Implement caching solutions using technologies like Redis to improve application performance.
- Write and maintain unit tests, integration tests, and ensure code quality and reliability.
- Monitor and troubleshoot applications using logs, metrics, and tracing tools.
- Support production issues, perform root cause analysis, and contribute to incident resolution.
- Collaborate with product teams, architects, QA engineers, SRE teams, and other stakeholders in an Agile environment.
Required Skills
- Strong hands-on experience with Java and Spring Boot development.
- Experience developing RESTful APIs and microservices-based applications.
- Good understanding of cloud-native development and Azure services.
- Experience with Docker, Kubernetes, and CI/CD automation.
- Knowledge of Kafka/Event Hubs and distributed messaging patterns.
- Strong database skills with SQL/NoSQL technologies and query optimization.
- Understanding of application resilience patterns including retry, circuit breaker, and fault tolerance.
- Strong problem-solving skills and experience working in Agile development environments.