Produce technical specifications and software designs based on high level customer requirements. Communicate and collaborate effectively with the Business Analysts and Product Owners to resolve requirements gaps and conflicts. Develop high quality software using Java technologies. Support and maintain developed software within agreed service level targets and quality objectives. Work flexibly and imaginatively in a changing and evolving project environment. Promptly escalate issues which cause personal or team development to fall outside of agreed quality or timescale tolerances and to actively contribute to their resolution.