Key Responsibilities
- Design, develop and optimise highly scalable distributed and event-driven systems.
- Build Real Time streaming and data-processing solutions using Apache Flink and Kafka.
- Develop enterprise applications using Java, Spring Boot and microservices architectures.
- Design fault-tolerant solutions capable of operating in high-throughput, mission-critical environments.
- Apply architectural patterns including CQRS and Event Sourcing.
- Develop and optimise REST APIs and Back End services.
- Deploy and operate applications using Kubernetes, Docker and Terraform.
- Work within Azure/cloud-native environments.
- Improve system performance, resilience, scalability and availability.
- Implement appropriate security controls including OAuth and identity/access management.
Essential Experience
- Extensive commercial Java development experience, ideally including Java 17/21.
- Strong hands-on Spring Boot and microservices experience.
- Strong experience designing and developing distributed systems.
- Hands-on Apache Flink experience.
- Strong Apache Kafka and event-driven architecture experience.
- Experience building real-time/stream-processing platforms.
- Understanding of high-throughput, low-latency and fault-tolerant system design.
- Kubernetes and Docker experience.
- Experience working with Microsoft Azure.
- CI/CD and automated testing experience.