Job description Posted 16 January 2020

PLEASE NOTE: These roles are in-scope IR35.

The successful candidate will be placed in a mixed-experience team. You will be expected to be involved in all aspects of Java software development. You will code, unit test, build and deploy solutions within multi-discipline teams and work on a variety of projects from Spring related technologies to standalone Java web apps and complex back-end component development. Over time, you may be expected to undertake lead responsibility for the delivery of software components, to provide input into architectural decision making and to assist with technical impacting for future work.

You will be required to work under the general direction of a project manager or scrum master, within a clear framework of accountability, and exercise substantial personal responsibility and autonomy. You will be expected to plan your own work to meet given objectives and processes, and to participate in activities related to your own specialism, making decisions which influence the success of projects and team objectives.

Responsibilities Include:

• Ensuring that coding, unit and integration test activities are carried out correctly and to recognised standards (test creation, test data creation and test execution). You will be responsible for the governance and continued improvement of these standards.

• Contributing to design activities on the team, attending design workshops and contributing to the production of design specifications. Organise and lead all aspects of design activity within the team, as well as lead formal reviews of code and test scenarios.

• Playing an active part in process improvement. Be actively involved in mentoring and coaching other members of the team, ensuring that improvements are understood and associated development skills identified.

• Ensuring compliance with all relevant quality processes and procedures, including completion of all the specified quality records.

• Act as an escalation point for any related issues and provide prompt updates of problems, issues and risks as well as be involved in the production and validation of man-day impacts.

• Assisting the scrum master to create/update Jira tickets and update with acceptance criteria.

• Identifying and getting involved in creating technical debts.

Skills and Knowledge Required:

1. Collaborate with user researchers and can sell / represent users internally. Understands the difference between user needs and desires of the user. Able to champion user research to focus on all users. Can prioritise and defines approaches to understand the user story, guiding others in doing so. Can offer recommendations on the best tools and methods to be used. Understands users and can identify who they are and what their needs are based on evidence. Able to translate user stories and propose design approaches or services to meet these needs, and engage in meaningful interactions and relationships with users. Puts users first and can manage competing priorities.

2. Manage the service components to ensure they meet business needs and performance targets. Able to define, analyse, plan, forecast, measure, maintain and improve all aspects of the availability of services, including power. Controls and manages service availability to meet the needs of the business in a cost effective manner, including managing the capability, functionality and sustainability of service components (including hardware, software, network resources and software/infrastructure as a service).

3. Identify process optimisation opportunities with guidance and contribute to the implementation of proposed solutions. Identifies and explores opportunities for service and business improvement. Drives the analysis, identification, prioritisation and implementation of improvements and efficiencies, thereby ensuring that the organisation derives maximum value from services. This includes recognising the potential for automation of processes, determining costs and benefits of new approaches and managing change or assisting implementation where needed.

4. Have an appreciation of information security, designing solutions and services with security controls embedded, specifically engineered as mitigation against security threats as a core part of the solutions and services. Maintains the security, confidentiality and integrity of information systems through compliance with relevant legislation and regulations. Designs, implements and operate controls and management strategies to allow this.

5. Use a modern standards approach competently and guides others in so doing. Uses a modern standards approach throughout automation and testing.

6. Collaborate with others when necessary to review specifications and uses these agreed specifications to design, code, test and document programmes or scripts of medium to high complexity, using the right standards and tools. Uses agreed security standards and specifications to design, create, test and document new or amended software.

7. See prototyping as a team activity, actively soliciting prototypes and testing with others. Establishes design patterns and iterates them. Knows a variety of methods of prototyping and chooses the most appropriate ones. Able to apply technical knowledge and experience to create or design workable prototypes, both programmes and physical outputs. Understands parameters, restrictions and synergies.

8. Demonstrate a breadth of understanding of service support. Maintains and supports services.

9. Define the integration build. Able to co-ordinate build activities across systems, and understands how to undertake and support integration testing activities. Integrates and tests components, systems and their interfaces to create operational services.

10. Design systems characterised by medium levels of risk, impact and business or technical complexity. Selects appropriate design standards, methods and tools and ensures they are applied effectively. Reviews the systems designs of others to ensure selection of appropriate technology, efficient use of resources, and integration of multiple systems and technology. Creates the specification and design of systems to meet defined business needs. Has the ability to work with business and technology stakeholders to translate business problems into technical designs. Able to visualise the ideal user service, come up with design ideas and possible design approaches. Explores different approaches to solving problems.

SFIA - Programming/Software Development - Level 4 -Designs, codes, tests, corrects and documents complex programs and scripts from agreed specifications, and subsequent iterations, using agreed standards and tools, to achieve a well-engineered result. Takes part in reviews of own work and leads reviews of colleagues' work.

SFIA – Systems Integration - Level 4 -Defines the integration build, accepts software modules from software developers, and produces software builds for loading onto the target environment. Configures the hardware environment, produces integration test specifications, and conducts tests, recording details of any failures and carrying out fault diagnosis.


Demonstrable evidence of: Essential Knowledge, Criteria and Skills

• Java (EJB 3.x)

• Very familiar with Spring technologies. (Springboot 1.X, 2.X, MVC and Boot)

• Core Java versions 6, 7 and 8

• JPA (Hibernate & Eclipselink)

• XML (xsd creation and xslt transformations)

• Tomcat, Weblogic (10g/11g/12c)

• Web Services (SOAP & REST)

• JMS, Rabbit MQ

• LDAP, SSO

• Spring Security, Thymeleaf, Ajax, REST, Bootstrap CSS

• Working on high-volume/distributed systems

• The full software development lifecycle

• Agile / Scrum Projects, with the proven ability to work in a team environment under pressure to deliver quality products to tight deadlines.

• Continuous Integration and Deployment methodology and tooling (especially Maven)

• Oracle database development experience (PL/SQL and schema design)

• Experience of source control systems (Git)

• Proven ability to lead technical teams (Mentoring, Code Review etc.)

• Has a working knowledge of Agile and Lean concepts as applied at scale

• Holds the values, and applies the principles of an Agile and DevOps environment

• Ability to think on your feet and show initiative

• Promoting a positive work culture, and maintaining successful working relationships with other team members and the Delivery Group as whole

• Maintains an awareness of developing technologies and their application and takes some responsibility for driving own development

• Excellent interpersonal skills at all levels.

Desirable Knowledge, Criteria and Skills

• Knowledge of messaging, event-driven architectures, Oracle, MySql

• Experience of other technologies e.g. Unix, Javascript, Oracle ADF

• Experience of Agile tooling such as Jira and Confluence

• Ability to create, seek and act upon opportunities to obtain and share knowledge.


Additional information about the process

3 posts are based in Southend-on-Sea and 2 posts are based in Worthing. Some travel may be required between the two sites and to other locations.

This role is in scope of IR35