Role Overview
We are looking for a skilled Java Developer to join our development team. The ideal candidate should have strong experience in Java, Spring Boot, REST APIs, databases, and building scalable backend applications. You will be responsible for designing, developing, testing, and maintaining high-quality software applications while working closely with frontend developers, QA engineers, and product teams.
Responsibilities
- Develop and maintain scalable backend applications using Java and Spring Boot.
- Design and develop RESTful APIs and microservices.
- Write clean, maintainable, reusable, and efficient code.
- Work with relational databases such as MySQL/PostgreSQL.
- Implement business logic and integrate third-party APIs and services.
- Troubleshoot, debug, and resolve application issues.
- Write unit and integration tests.
- Participate in code reviews and follow development best practices.
- Work with Git-based version control and CI/CD workflows.
- Collaborate with frontend developers, QA, DevOps, and product teams.
- Optimize application performance, scalability, and security.
- Participate in requirement analysis, technical discussions, and sprint planning.
Requirements
- Strong knowledge of Core Java.
- Good experience with Java 8+ features.
- Strong hands-on experience with Spring Boot.
- Experience developing REST APIs.
- Good understanding of Spring MVC, Spring Data JPA/Hibernate.
- Strong knowledge of SQL and relational databases.
- Understanding of OOP, Collections, Exception Handling, Multithreading, and Design Patterns.
- Experience with Git/GitHub/GitLab.
- Good understanding of software development lifecycle.
- Strong debugging and problem-solving skills.
- Bachelor's/Master's degree in Computer Science, Information Technology, Engineering, or a related field.
Skills
- Java
- Spring Boot
- REST APIs
- MySQL
- Git
Nice to Have
- Experience with Microservices architecture.
- Knowledge of Docker and Kubernetes.
- Experience with AWS/Azure/GCP.
- Knowledge of Kafka/RabbitMQ.
- Experience with Redis or other caching technologies.
- Familiarity with CI/CD tools such as Jenkins or GitHub Actions.
- Understanding of system design and distributed systems.