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.