Job Description
We are looking for an experienced Java Backend Developer with expertise in API development to join our growing team. The ideal candidate will have a strong understanding of backend systems and be proficient in building scalable, high-performance APIs. You will work closely with front-end developers, architects, and other stakeholders to design, develop, and maintain backend services.
Key Responsibilities:
- Design, develop, and maintain scalable and robust backend services using Java.
- Build and maintain RESTful APIs to support web and mobile applications.
- Optimize the performance of backend systems to ensure low-latency and high availability.
- Collaborate with front-end developers and product teams to define and deliver new features.
- Ensure the security, performance, and scalability of APIs.
- Integrate with third-party APIs and services.
- Write clean, maintainable, and efficient code following best practices (e.g., version control, CI/CD pipelines).
- Conduct code reviews and ensure adherence to coding standards.
- Troubleshoot and debug production issues across services and databases.
- Contribute to architecture discussions and decisions for new features and systems.
- Stay updated with the latest industry trends, technologies, and best practices in backend development and APIs.
Required Skills & Qualifications:
- Strong experience with Java (Java 8 or higher) and object-oriented programming principles.
- Proficiency in API design and development (REST, SOAP).
- Experience with Spring Framework (Spring Boot, Spring MVC).
- Strong understanding of microservices architecture.
- Knowledge of database technologies (SQL/NoSQL) like MySQL, PostgreSQL, MongoDB, etc.
- Experience with cloud platforms (AWS, Azure, GCP) is a plus.
- Familiarity with containerization technologies (Docker, Kubernetes).
- Experience with CI/CD pipelines and DevOps practices.
- Familiarity with version control systems like Git.
- Understanding of authentication/authorization mechanisms (OAuth, JWT).
- Strong problem-solving skills and ability to troubleshoot complex systems.
- Excellent communication and teamwork skills.
Preferred Skills:
- Experience with Kafka or other messaging queues.
- Knowledge of event-driven architectures.
- Experience with Agile methodologies.
- Exposure to TDD/BDD (Test Driven Development/Behavior Driven Development).