Responsibilities
- Design and maintain backend services and microservices in Java using Spring Boot and related Spring frameworks such as Spring Data, Spring Security, and Spring Cloud.
- Develop and consume RESTful APIs and event-based systems, applying clean architecture and domain-driven design principles when suitable.
- Integrate with internal and external systems through REST, messaging platforms like Azure Service Bus, Kafka, or Pub/Sub, and batch processing interfaces.
- Work with both relational and non-relational databases, writing optimized queries and data persistence logic using JPA and Hibernate.
- Package services into containers using Docker and deploy them to Azure Kubernetes Service (AKS).
- Help build and maintain CI/CD pipelines using tools such as Azure DevOps or GitHub Actions, including automated testing and deployment stages.
- Create thorough unit, integration, and contract tests to ensure system reliability and correctness.
- Take part in code reviews, architectural discussions, and design meetings, promoting code quality, performance, and security.
- Share responsibility for supporting live systems, including monitoring, alerting, and responding to incidents.
- Work closely with quality assurance, product management, and architecture teams in an Agile/Scrum environment, helping to estimate and plan tasks across sprints.
Responsibilities
- Design, develop, and maintain Java backend services and microservices using Spring Boot and the broader Spring ecosystem (Spring Data, Spring Security, Spring Cloud).
- Build and consume RESTful APIs and event-driven services, applying clean architecture and domain-driven design where appropriate.
- Implement integrations with downstream systems and external partners using REST, messaging (Azure Service Bus, Kafka, or Pub/Sub), and batch interfaces.
- Work with relational and non-relational data stores, writing efficient queries and persistence code with JPA/Hibernate.
- Containerise services using Docker and deploy to Azure Kubernetes Service (AKS).
- Contribute to CI/CD pipelines (Azure DevOps and/or GitHub Actions), with automated build, test, and deployment steps.
- Write comprehensive unit, integration, and contract tests.
- Participate in code reviews, design discussions, and architecture sessions; advocate for clean code, performance, and security best practices.
- Support production services on a shared rotation, contributing to monitoring, alerting, and incident response.
- Collaborate with QA, product, and architecture teams in Agile/Scrum delivery; estimate and break down work effectively across sprints.