Senior Java Software Engineer

Overview

We are looking for a Senior Java Software Engineer to join a remote engineering team focused on building and delivering backend services for a national data exchange platform. This hands-on technical leadership role involves mentoring developers, shaping technical solutions, and actively participating in coding and design discussions. You will play a key role in the development of secure and scalable services underpinned by zero-trust security principles, while collaborating with a diverse team of engineers.

Responsibilities

  • Design and develop backend services using Java and Spring Boot.
  • Apply strong OOP, SOLID principles and design patterns to create maintainable, testable software.
  • Translate requirements into technical specifications, development tasks and acceptance criteria.
  • Design and implement secure REST APIs.
  • Build event-driven services using Apache Kafka.
  • Design and optimise PostgreSQL data models and data access.
  • Provide technical leadership through hands-on development, design discussions and code reviews.
  • Mentor and support developers, helping resolve technical issues and remove blockers.

Requirements

  • Proven experience in Java and Spring Boot development.
  • Strong understanding of REST APIs, Microservices, and Event-Driven Architecture.
  • Experience with Apache Kafka for messaging.
  • Familiarity with PostgreSQL and cloud services such as AWS or Microsoft Azure.
  • Experience with container technologies like Docker and Kubernetes.
  • Knowledge of Terraform for infrastructure management.
  • Understanding of CI/CD principles and automated testing frameworks.
  • Knowledge of secure development practices and zero-trust security principles.