Job Title: Platform Services Engineer
Department: Data & Platform Services
Reports to: Platform Services Manager
OVERALL PURPOSE OF THE JOB
Design, develop, implement, manage and administer core platform services components and tooling that is required by Solution Delivery Areas to build and deliver change initiatives. Provide Environment provisioning and support Release, Build, configuration and deployment services to Solution Delivery areas. Work closely with Solution Delivery Areas and Platform Support area to facilitate effective change
Reports To - Platform Services Manager
Direct Reports - None
* Contribute to the avoidance of large business losses, with potential to exceed £100K that could result from serious and prolonged Production outages
* Supporting change initiatives with significant business benefits that can range between £100K's and £1M's.
* Input into budgetary decisions impacting both Capex and Opex expenditure relating to software and hardware provision for amounts up to £500K.
* Maintaining availability and performance of key tooling and services platforms that underpin effective change delivery
* Maintaining availability, stability and performance of Linux platform for up to 50 cloud based environments.
* Maintaining availability, stability and performance of esure controlled components for up to 20 on-Premise environments.
* Servicing releases in and out of hours to implement change for the business with minimal impact to live service availability
Founded in 2000, esure Group plc is an efficient, customer focused personal lines insurer. We are one of the UK's leading providers of Motor and Home insurance products through the esure and Sheila's' Wheels brands. Our insurance brands provide cover for around 2.2 million customers and over 1.5 million car customers, making us a major player in the UK market.
Our people mission is simple: we aim to make esure a great place to work for our colleagues who we want to provide the very best service to our customers.
* Act as a trusted advisor and be required to build relationships, exceed champion best working practices and identify areas for improvement with regards to Platform Services and Tooling.
* Ensure that there is a proactive approach embedded for environment provisioning, maintenance and support.
* Ensure best practice adopted and followed in relation to build, release and deployment activities.
* Ensure best practice adopted and followed in relation to use of tooling and services that support effective change delivery.
* Work closely with Solution Delivery Areas to both foster innovation but maintain consistency and standards.
* Design, implement and support core tooling and services platforms for consumption by Solution Delivery areas including JIRA, Puppet, Ansible, Jenkins, GIT.
* Provide both in-hours and out-of hours support required to service need of Solution Delivery areas and for implementation of changes.
* Work with Solution Delivery areas to identify and implement opportunities for self service and autonomous release activity.
* Ensure, through timely and accurate reporting, that the Solution Delivery Areas are aware of all changes that have been implemented in Production and the actions that are required in order to reflect these changes within their development environments.
* Ensure the availability and currency of training environments used by the business through timely updates and liaison with training staff.
* Actively seek ways of improving procedures/processes associated with Environment, Release and Software Configuration Management with respect to reducing both manual effort required and the potential for errors.
* Enforcing standards associated with procedures that need to be followed in relation to Release and Configuration Management.
* Deploy software to and maintain multiple environments from Development through Production.
* Provision environments and perform initial configuration for change initiatives.
* Drive improvements to automated deployment solutions.
* Work to instil DevOps mentality and best practices throughout the development cycle.
* Ensure environments maintain the highest level of quality, security, scalability, availability and compliance amidst an environment of rapid change and growth.
* Responsible for upgrading and patching of in-scope components.
* Provide technical assistance and advice to other parts of the department and the business as required.
* Maintain and monitor documentation ensuring that documentation remains current and up to date.
* Provide cover, maintain Production service availability and ensure key task and change deliverables are maintained and advanced in the absence of the Team Leader.
* Ensure clear communication and escalation of incidents to senior management as and when required.
DECISION MAKING AUTHORITY
* To make recommendations to the Platform Services Manager regarding changes to tooling, services or operational procedures.
* To make decisions in support of key business applications in the absence of the Platform Services Manager.
* To challenge decisions across areas to ensure smooth delivery of change while remaining compliant to existing standards and policies.
* Authority to define and implement standards/procedures associated with Environment Provisioning and Management, Release, Build and Software Configuration Management, Platform Services provision and tooling.
* Champion best working practices with regards to Platform Services and it's offering and interaction with Solution Delivery areas.
JOB CHALLENGES & PROBLEM SOLVING
* Based on a broad understanding of underlying services platform and tooling with a strong capability within at least one core area, the jobholder will be expected to perform operational tasks and resolve routine problems without reference.
* Escalate at the appropriate time where he/she is unable to deal with a particular issue.
* Ability to build contacts with internal areas and with external organisations such to ensure the services platforms and tooling managed operates effectively.
* Maintain an effective and pro-active approach to problem investigation and resolution.
* Effectively manage demands related to both run support and change.
* Need enforce standards and best practice required to protect without being considered obstructive by the areas to which services are being provided.
* The IT systems for which Platform Services are to provision environments for and facilitate rapid change cover a broad spectrum of technical environments. This requires an ability to rapidly understand new environments and both acquire and apply the relevant skills needed to implement new deployment methods and ways of working.
* The hybrid nature of having both on-premise and cloud hosted infrastructure with inherent differences further complicates the lifecycle and requirement to understand and cater for the differences.
* With the continued move to new digital platforms there will be introduction of new technologies, release and deployment strategies along with need for revised tooling which Platform Services will need to facilitate and address.
Internal: Multiple areas within IT and the Business
External: Infrastructure hosting provider - Capgemini, Third Party service providers, Software vendors
JOB KNOWLEDGE, SKILLS & EXPERIENCE
* IT Degree qualified
* High level of competency in regard to support and change activity relating to Platform Services and associated tooling
* Proficient in Linux
* Proven and demonstrable experience with Puppet, Ansible or Chef
* Proven and demonstrable experience of a scripting language such as Python, Ruby or Perl
* Demonstrated exposure to Open Source tooling including GIT, SVN
* Knowledge of JIRA desirable
* Ability to work equally well as part of a team or individually and manage own workload as required
* Proven experience of working within a DevOps culture with strong and effective collaboration skills
* Strong and demonstrable problem solving skills
* Proven and demonstrable aptitude for obtaining and exploiting new skills and knowledge
* Proven and demonstrable attitude for broadening understanding, and gaining knowledge and skills that fall outside of immediate area of expertise
* Proven and demonstrable development of others
* Experience working within a DevOps/Continuous Delivery set up
* A sound understanding of the full application development lifecycle coupled with some software engineering experience.
* The ability to grasp what constitutes a complex technical environment, and how the various components interact to create a stable state.
* Knowledge of working with environments in the Cloud would be advantageous
* Requires a thorough approach and attention to detail.
* Ability to quickly acquire and apply new skills/knowledge.
* Previous experience of mentoring junior members of a team.
* Strong communication skills.
* Experience of Financial Services and the General Insurance industry in particular is preferable.