Overview
We are looking for a talented and experienced Backend Java Developer to join our growing engineering team. The ideal candidate should have hands-on experience in building scalable and resilient backend services using Java, Spring Boot, and Microservices architecture. Familiarity with AWS cloud services and SQL/NoSQL databases is essential.
Responsibilities
- Design, develop, and maintain backend services using Java and Spring Boot.
- Implement and maintain microservices-based architecture, ensuring performance, scalability, and reliability.
- Build and integrate RESTful APIs for internal and external consumption.
- Work with relational databases (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB, DynamoDB) for data persistence and retrieval.
- Deploy and manage applications on AWS cloud infrastructure.
- Write clean, maintainable, and well-documented code.
- Participate in code reviews, design discussions, and contribute to architectural decisions.
- Troubleshoot production issues and ensure system reliability and uptime.
- Collaborate closely with DevOps, QA, and front-end teams for end-to-end development.
Requirements
- 5+ years of backend development experience with Java and Spring Boot.
- Strong knowledge of microservices architecture and distributed systems.
- Hands-on experience with RESTful API design and development.
- Good understanding and working experience with SQL (e.g., MySQL, PostgreSQL) and NoSQL (e.g., MongoDB, DynamoDB) databases.
- Practical knowledge of AWS services such as EC2, S3, RDS, Lambda, and CloudWatch.
- Experience with version control tools like Git.
- Familiarity with containerization (e.g., Docker) and CI/CD pipelines.
- Strong analytical and problem-solving abilities.
- Excellent communication and teamwork skills.
Preferred Qualifications
- Experience with message brokers such as Kafka, RabbitMQ, or AWS SQS.
- Familiarity with monitoring/logging tools such as Prometheus, Grafana, ELK Stack, or AWS CloudWatch.
- Exposure to Agile development methodologies.