Robert Andrew Clarke

East Yorkshire, England · rob@r-remove-obertandrewclarke.com

Technical Services Specialist @ Aviva

Proven Software and Platform Engineer with experience leveraging agile, DevOps, and automation to build and manage distributed platforms in public cloud, with a focus on containerisation, Kubernetes and developer experience.


This site was generated using HUGO from an open source theme

Connect

Skills

Languages and Operating Systems
  • HCL
  • Python
  • Ruby
  • Go
  • Java
  • Javascript
  • Groovy
  • linux
  • bash
  • HTML5
  • CSS3
Containers & Cloud
Tools
  • git
  • kubectl
  • k9s
  • Terraform
  • Packer
  • Vault
  • AWS CLI
  • Ansible
  • Puppet
  • VSCode
Platform Development & Administration
Architecture and Concepts
  • GitOps
  • Agile
  • Infrastructure as Code
  • Configuration as Code
  • DevOps
  • DNS
  • Load Balancing
  • Microservices
  • REST
  • SOA
  • SaaS/Faas/PaaS/IaaS

Experience

Technical Services Specialist

Aviva

I am the technical lead for the central Aviva Software Engineering Services team which is responsible for managing the central software development tools and processes including Jenkins, Azure DevOps, Jira, Confluence, Bitbucket, Checkmarx, SonarQube, XL Release and Service Virtualisation. During my time working for the team I have become an SME in most of the tools and applications being managed, however the majority of my focus has been on leading the migration of Aviva’s tools to AWS, specifically as containerised deployments to Kubernetes clusters. This has involved:

  • Designing, building via Packer and Ansible and automating the provisioning via Terraform of a Kubernetes platform within AWS on EC2 instances, whilst working within the confines of Aviva’s cloud platform controls and restictions.
  • Instrumenting security hardening to all aspects of the platform including Linux, Docker and Kubernetes CISCAT recomendations, SELinux policies, Pod Security and Network Policies along with suitable RBAC.
  • Design and implementation of a secure GitOps deployment process for container workloads through the use of Flux and source control management policy enforcement for deployment and Kustomize for workoad definition
  • Developing day 2 platform operations features such as logging via Fluentd to Elasticsearch and monitoring with Prometheus, Alert Manager and Grafana.
  • Building a secure container image build process including image scanning via Aquasec.

The current Software Engineering services container platform is now in production with the majority of the teams tools running as containerised workloads including two of Aviva’s largest stateful applications, Jira and Confluence.

My current focus however is now on Aviva’s other Kubernetes container platform that was built by Aviva’s Digital team and is Rancher based. I have the current role of technical lead for that platform with a goal of merging the two container platforms into a single platform that can be rolled out across the rest of the organisation.

May 2018 - Present

Software Developer

Aviva

I worked as a member of the Life Protection presentation layer development team. My main role within the team was that of the problem solver, where I tended to get involved in anything new and unknown or particularly challenging. Some of the presentation layer projects I was involved in:

  • Development of the B2B Protection solution for advisers using the ALPS platform and SS/G, including development of the adviser tracking solution.
  • Development of Consumer Protection solutions, both Aviva and partner branded, using the ALPS plaform.
  • Development of a custom “push notifications” system for sending out automated emails to registered advisers, of alerts and notifications relating to their current ALPS applications. This utilized direct SS/G database querying to extract the relevant data.

I also led on the teams' cloud migration activity where I:

  • Developed infrastructure as code scripts to define environments using tools such as Terraform and Cloud formation.
  • Developed a suite of puppet modules to allow automated provisioning of various technologies including Jboss, Splunk forwarding and AppDynamics agents, along with associated ‘role’ and ‘profile’ modules that leveraged Hiera and configuration as code to build environment and application specific provisioning.
  • Developed various Packer and Vagrant scripts for building AWS AMI’s and providing a means to automate instance creation.
  • Developed a fully automated Jenkins platform that can be torn down and rebuilt from scratch including automated provisioning of all jobs and pipelines. Including jobs to rebuild our engineering environment on a nightly basis with the latest in application and provisioning code.
  • Developed a release process to allow both application and provisioning versioning and the associated promotion through the environments in an automated yet audit-able and approved process.

October 2014 - May 2018

Senior Java Developer / Analyst

The British Library

I was a member of a dedicated Java development team that provided ongoing technical support for the Libraries commercial document supply services as well as being the development team for new technical solutions. I was the teams’ technical leads and architect. Some of the projects I was involved in include:

  • Designed and developed a RESTful API (http://apitest.bldss.bl.uk/docs) for the libraries document supply system using Groovy and Grails. This provided authentication via a custom OAuth type solution and provided functionality for searching, retrieving pricing and availability information as well as ordering and management.
  • Led the design and implementation of a new user interface for the libraries document supply system (https://ondemand.bl.uk/onDemand/home), rewriting the existing Adobe Flex based version and built to be mobile compatible. It was powered by the document supply service API which underwent further development to provide the required functionality, as well as the creation of a Java client library and Grails Plugin to facilitate interaction with the API.
  • Designed and developed a scalable, high performance asynchronous request processing system using Apache Camel and Apache ActiveMQ to process what are essentially free text order requests submitted as emails, as a replacement for the existing legacy system.
  • Developed of a number of Java and Grails applications such as a content retrieval service to retrieve digital content from various repositories; an availability module to provide up to date availability details for stock items based on customer permissions and item statuses; a SOAP web service to integrate separate legacy SOAP web services routing requests.
  • Development of a metadata export and migration system to migrate the Libraries 40+ million article records from a legacy text retrieval database to an MSSQL database. This included metadata enrichment processes to link the data to other existing metadata repository records. This included an export process as Dublin Core XML for ingestion by the Libraries main content discovery system.

September 2008 - October 2014

Java Developer

Merisis Technology LTD

I developed J2EE web application solutions for IBM Web Applicaton Server and Websphere Portal utililzing DB2 Databases. I was involved in the full SDLC, working with customers to determine requirements, develop solutions, build and configure environments and deployment.

June 2006 - September 2008

ABAB Developer

ARCO LTD.

Developed ABAP programs and reports for the companies SAP R/3 system.

September 2005 - June 2006

Education

Durham University

Bachelor of Science
Computer Science - First Class

2002 - 2005

Driffield Sixth Form

A Levels
  • Maths - A
  • Further Maths - A
  • Physics - A
  • Economics - B

1999 - 2001

Driffield Senior School

GCSEs
  • Maths (Double Award) - A*
  • Science (Double Award) - A*
  • History - A*
  • Geography - A*
  • English - A
  • Expressive Arts - A
  • French - B

1997 - 1999