Java Engineer (2161)

  • Location: Gloucester
  • Duration: Permanent (x3 positions available)
  • Working hours: 35 hours per week, Monday to Friday
  • Application end date: 30/07/21
We are in the process of undertaking a major strategic initiative, that will deliver a new General Insurance System to the business.  This is a very exciting time to join the team, as we look to take advantage of the IT transformation and provide real innovation to the business.  We will be working within an agile SCRUM framework, that will allow us to deliver regular value and enhancements to the business.  We would like you to be part of this transformation, to design, code and unit test Java changes within our IDIT General Insurance System in order to meet business priorities.

Key accountabilities

  • A positive, can-do approach which promotes the right culture and behaviours aligned with Ecclesiastical.
  • Develop, support and maintain our new packaged solution.  Java development changes will be required across all elements of the system, including:  
       - Product and claims.
       - Workflow. 
       - Developing complex rules for workflow processing and rating algorithms.
       - Develop changes to screen flow and behaviour. 
       - Extracting data items from the system to be exposed on customer facing documentation. 
       - External interfaces (Data feeds to external suppliers and regulatory bodies, web service integration).
       - Internal interfaces (CRM, Document Repository). 
  • Fully understand the IDIT application code base, and provide quality control for internal Java development and Java development from the 3rd party supplier.  
  • Help to shape the digital strategy required for future phases of the Horizon project.  This requires a full understanding of the Restful endpoints packaged as part of the application, and how these can be consumed by front-end Javascript frameworks.    
  • Code review Selenium test scripts written in Java by our 3rd party testing partner.  
  • Work in collaboration with the wider systems development and system test teams to ensure successful completion and implementation of changes. 
  • Provide walkthroughs of development changes, handover documentation and skills transfer to others as required (testing, training and application support).
  • Working with system architects and business analysts to produce systems designs and specifications, and validate designs produced by external suppliers. 
  • Ensure development changes are fit for purpose and support wider Business Solutions Strategic & Legislative objectives.
  • Ability to understand and interpret business requirements in order to establish suitable technical solutions.
  • Ability to communicate effectively both verbally and in writing which is appropriate to audience being engaged with.

Knowledge, skills and experience

  • Experience of developing enterprise scale Java applications (Java 11+).
  • Ability to write automated unit tests using Junit and Mockito.  
  • Knowledge of using Jira as a task management tool.  
  • Familiarity with Javascript frameworks such as Angular or React.  
  • Full understanding of Git and Subversion source control applications, with the ability to accurately branch and merge code.  
  • Adept at developing Java code within the IntelliJ IDE.  
  • Thorough understanding of MSSQL relational databases, with the ability to write complex SQL queries.  
  • Confident pair-programmer, offering support to more junior members of the team.  
  • Experience of using static code analysis tools such as Checkstyle and Sonar, and the ability to interpret their output.   
  • Knowledge of Jenkins as an automated CI tool.   
  • Good appreciation of SOLID design principles, pillars of object oriented development, and design patterns.  
  • Understanding of software design and software architecture principles.  
  • Good understanding of the Scrum framework, and experience of working in an agile development environment.  
  • The ability to engage and co-operate in productive working relationships.
  • The ability to be resourceful, self-sufficient and to work independently as well as in an established team.