Job Description

Candidates must have strong skills in backend development with Java and be ready to quickly get to work within a multi-disciplinary team of developers, designers, editors and analysts focussed on one or more products or projects providing services capable of running high volume, reliable and flexible services that are relentlessly user-focussed and continually improved through iterative development. The backend is built using multi microservices and CQRS architecture.

Have demonstrable experience of working in blended, multi-discipline, multi-vendor team environments focused on meeting user needs using agile methodologies and delivering digital improvement outcomes
Have demonstrable experience of successfully delivering high and long transactional digital services working in complex and highly regulatory environments
Have demonstrable experience in eventually consistent, asynchronous and synchronous systems, and distributed message-driven architectures
Have demonstrable experience in building micro-services with RESTful APIs using JAX-RS and messaging using JMS
Have demonstrable experience in back-end development using Java 8 and JEE7
Have demonstrable experience in unit and integration testing utilising JUnit, Mockito and Wiremock
Can show demonstrable experience of developing and working against cloud hosted environments

Have demonstrable experience in implementing business logic using domain driven design (DDD)
Have demonstrable experience of using CQRS and Event Sourcing patterns