Java 8, Microservices and React JS Core Java Core Development Methodologies BDD/TDD Core developer level testing methodologies e.g.: Code coverage measurement Integration of testing into build process Spring/SpringBoot Hibernate Persistence Store Management Skills for: Relational Databases (Oracle, DB2, MySQL, CloudSQL, etc.) NoSQL (MongoDB etc.) Object Stores (S3, GCS) OS Basics (e.g. Linux) Service Integration Technologies and Patterns REST SOAP (not essential but useful) Queueing technologies (RabbitMQ, Kafka, Google Pub/Sub) Security: Basic AuthN/AuthZ HTTPS JWT Security Certificate use Build Technologies: Maven or Gradle Jenkins (basic) Git Microservice Design and Development: The Principle of Singularity Eventual Consistency Scalability and Reliability o Horizontal versus Vertical scaling o Message delivery reliability o Idempotence Statefulness and Statelessness o Managing state in a containerised micro-service architecture Service Discovery Configuration Management Containerisation Technologies (e.g. Docker) Container Orchestration (e.g. Kubernetes, Docker Swarm) Description This position requires a self-motivated individual with strong software engineering fundamentals and a strong automation-orientated mind-set to help improve all phases of the software lifecycle, from inception through to live release. The successful candidate will be capable of moving seamlessly across development activities in multiple tech stacks, and must be able to pick up new skills as they encounter new areas of challenge. Mind-set is key: this role requires strong, innovative problem-solvers capable of managing ambiguity whilst still driving towards very high standards of delivery quality.””