Curriculum Vitae

About

A seasoned, engineer and team lead.
A wide range of experience, with a recent focus on building internal developer platforms and affecting cultural change in Financial Services

Skills

  • 12 years of professional experience in software engineering
  • A polyglot programmer (See languages)
  • Experienced with DevSecOps and Cloud Native patterns and practices
  • 5 years of experience building internal developer platforms
  • A background and continuing interest in security (and much more)

Work history

Currencycloud (2020 - Now) Tech Lead - Cloud Platform Engineering

I helped to grow the team from 2 members to 5 as we supported a larger tech organisation and increased our responsibilities.

We focussed on building an internal developer platform, cementing the guarantees and constraints of our platform for a large number of developer teams.

It was decided that the Jenkins X platform wasn’t a strategic option for us, and so we looked to replace Jenkins X, eventually choosing Harness CI.

 

Currencycloud (2019 - 2020) Software Engineer - Cloud Platform Engineering

Working to adopt and improve cloud native practices across the tech department.

Lending expertise on microservices, cloud native development, testing in a CD pipeline, and application security. Facilitating the migration of a small estate of microservices from EC2 instaces to containerised workloads in Kubernetes.

Our team took ownership of much of our CI/CD toolset, based on Jenkins X, and began to expand its capabilities.

 

FINkit (2016 - 2019) Test Lead

I moved to FinKit as it was a small team Test lead working across multiple teams, working toward a next generation banking platform. We aim to accelerate financial institutions with continuous deployment, modern architectures, baked in governence and compliance.

FINkit was recently acquired by Fiserv, a leading American provider of financial services platforms.

 

Nagra Kudelski (2013 - 2016) Senior Test Engineer

I joined Nagra where I was embedded in a scrum team to improve testing of their MediaLive JavaScript API.
There I wrote a karma-compatible test framework to replace a legacy headless approach. Due to some poor practices baked into the API contract, the framework was built to support isolated execution environments per test/suite by executing test contexts within iframes.

Shortly after I took over a colleague’s responsibilities for testing of Nagra’s white label UI.
The approach was Cucumber BDD tests for a WebDriver backend. I extended and refactored the test suite for more comprehensive browser and functional coverage, as well as moving toward a cleaner business language when describing the tests.

The two teams merged, and we went on to hire two junior QAs that I mentored.

Although limited in its scope, it was here that I was first able to break down the “over the wall” mentality toward QA and to help contribute to my team in shifting toward (what is now widely known as) a DevSecOps culture.

  • Built and maintained a test framework for Nagra’s JavaScript MediaLive APIs.
  • Took responsibility for a Ruby test framework for Nagra’s whitelabel
  • Early adopter and evangelist for several initiatives within the company, helping to improve and spread awareness of these tools (e.g. gerrit, continuous integration and delivery)
  • Evangelised and demonstrated confidence in refactoring through test driven development.

 

GoCompare (2011 - 2013) Test Analyst

After moving back home to South Wales I joined GoCompare as a test analyst.
I found myself supporting our marketing team with their efforts to move to a new CMS, in addition to performing a range of QA functions for the project.

I led the company’s first efforts in automated system testing, using the emerging WebDriver tool chain.

I was involved with all aspects of QA at GoCompare, as well as contributing to the resolution of high priority incidents

 

Sophos (2008 - 2011) Lead Test Engineer

At Sophos I was the lead test engineer for the company’s Cloud based Unified Threat Management (UTM) offering.
The software was built for a variety of devices, from embedded Linux routers to real time operating systems, on x86, ARM, and MIPS.
I helped to build, market, and sell the software to medium and large cap networking vendors.

I also worked with the core engine team to deliver and improve QA for the virus engine, anti-virus suites, and Data Leakage Prevention products.

 

Charles XII (2008) Barman

A barman for a busy student pub in Heslington, York.
The high point of my career, it can only go downhill from here.

Education

University Of York (2005 - 2008) Computer Science

I studied computer science at the University of York, graduating with honours.
My dissertation was entitled “A JIT Compiler for YHC Bytecode” which explored implementing a fast throwaway Just In Time compiler for the York Haskell Compiler.

The simple and aging technique for JIT compilation showed impressive performance whilst adding only a few KiB of binary size and only constant memory overhead.
Had I taken the project further, it would have been interesting to evaluate its usage in memory constrained environments.

Languages

Proficient

  • C
  • C++
  • Java
  • Javascript
  • Python
  • Shell scripting

Familiar

  • Erlang
  • Haskell
  • Perl
  • Ruby
  • Scala