We are seeking a skilled Spring Boot backend developer to join our dynamic development team. As a Spring Boot Backend Developer, you will be responsible for designing, implementing, and maintaining robust and scalable backend systems using Spring Boot and related technologies. Your role will involve working closely with cross-functional teams to develop high-quality APIs, integrate with databases, and support the application in production. Strong knowledge of SQL database queries and awareness of NoSQL databases like Cloudant are essential for this role.Responsibilities:
Design, develop, and maintain backend systems using Spring Boot and Java
Collaborate with the front-end development team to define API contracts and ensure seamless integration.
Write efficient and optimised SQL queries for relational databases.
Utilise your awareness of NoSQL databases like Cloudant to work with non-relational data models.
Develop and maintain RESTful APIs to enable communication between front-end and back-end systems.
Implement authentication and authorisation mechanisms for secure API access.
Ensure the performance, scalability, and reliability of the backend systems.
Monitor, analyse, and support the application in production to identify and resolve issues.
Collaborate with DevOps and infrastructure teams to deploy and manage the application environment.
Write and maintain unit tests and conduct integration testing to ensure code quality and reliability.
Conduct code reviews to ensure adherence to coding standards and best practices.
Stay up-to-date with the latest trends and advancements in backend development and database technologies.
Document technical specifications, code changes, and system architecture for future reference.
Tasks:
Design and implement data models and database schemas.
Develop a data access layer using Spring Data JPA or similar technologies.
Implement caching mechanisms to improve application performance.
Optimise database queries for efficiency and performance.
Work with message brokers like Apache Kafka or RabbitMQ for asynchronous communication.
Collaborate with the QA team to ensure comprehensive test coverage.
Use monitoring and logging tools to identify and troubleshoot production issues.
Implement security measures to protect sensitive data and prevent unauthorised access.
Collaborate with stakeholders to gather requirements and propose technical solutions.
Provide technical support and guidance to other team members.