Projects

(These are to demonstrate the range of my technical expertise where I had a more hands-on role. Projects where I was leading a team have some overlap but are separate from the ones below.)

HSM cloud processing

Role: Architect / VP Engineering
Organisation: Bankable
When: 2023

Designed the iteration to the HSM cloud provider myHSM moving from an on-premise HSMs and lead the development of the changes

.Net / C# framework for Kubernetes

Role: Architect / Principle Developer / Technical Lead
Organisation: WorldPay / FIS
When: 2018 - 2022

We developed a .NET / C# framework for use by fifteen teams in the UK, India, Romania and the USA for rapid development and deployment of microservices into the cloud without in-depth knowledge of Openshift / Kubernetes. The framework includes:

  • .NET / C# project
  • DevOps pipelines
  • SSL certificates pulled from Venafi to secure connections to the pods
  • Integration into Slack for alerting
  • Integration into Splunk for reporting

TPS Hackathon

Role: Principle Developer
Organisation: WorldPay / FIS
When: 2022

I won a Hackathon to test the number of Transactions Per Second (TPS) through a microservice. I deployed the service with auto-scaling to a Kubernetes cluster. Through this method, during the test, the service scaled to 50 pods, achieving 4, 000 TPS while my closest competitor managed 400 TPS using a dedicated server.

DevOps Pipelines

Role: Architect / Principle Developer
Organisation: WorldPay / FIS
When: 2018 - 2022

Created a release chain incorporating; unit testing, Integration tests, and binding a docker image to the git repository through the use of tags on the repository and the image. Using Jenkins and Ansible Tower

Open Banking

Role: Architect / Senior Developer
Organisation: WorldPay / FIS
When: 2019 - 2021

To allow Worldpay merchants to acquire transactions using direct bank transfers we developed an interchange to the NUAPAY system. This system made use of callbacks for transaction status.

Payment Adviser

Role: Architect / Senior Developer
Organisation: WorldPay
When: 2017 -2018

We created an event-driven architecture to analyse merchant clearing files to ensure their amounts were within mathematically expected boundaries. This was when I started to develop in C# / .NET core on Openshift (Kubernetes).

Kafka client

Role: Senior Developer
Organisation: WorldPay
When: 2016

Created a proof of concept to pass BASE24 transaction logs to a Kafka broker.

Open systems Server

Role: Senior Developer
Organisation: WorldPay
When: 2016

Created a Proof of concept to accept SOAP or JSON requests and translate these into internal XPNET or Pathway requests. For either transaction requests or general enquiries against the legacy BASE24 system.

Japanese Acquiring

Role: Senior Developer
Organisation: WorldPay
When: 2015

To enable Worldpay to expand its acquiring processing into Japan we created a SOAP interchange to pass requests to the Japanese domestic MasterCard scheme. This was technically challenging as I had to develop a solution which processed TCP sockets directly as well as communicating through an interpreter with the Japanese team.

PCI User Management

Role: Consultant / Developer
Organisation: WorldPay
When: 2014

To enable Worldpay to meet the PCI requirements I developed a utility to automate the creation of new user accounts and the resetting of passwords via email.

Dynamic Key processing

Role: Consultant / Developer
Organisation: WorldPay
When: 2014

Developed a batch process to generate Dynamic Keys for POS terminals. This change required changes around HSM processing. While waiting for the HSM software enhancements I created a utility to simulate the Attal HSM.

China Union Pay Interchange

Role: Consultant / Developer
Organisation: WorldPay
When: 2013

Created an interchange to the China Union Pay card scheme. This was an interesting project as the messaging included different cryptography and fields such as party membership numbers. For business reasons, this change was not implemented.

SAP Interchange

Role: Consultant / Developer
Organisation: Nationwide Building Society
When: 2009 - 2012

Developed changes to the Nationwide BASE24 platform to call the new SAP core account systems SOAP API.

Automated Key Distribution (AKDS)

Role: Consultant / Developer
Organisationdistribute: Alliance & Leicester
When: 2008

Implemented a system to distribute cryptography keys to ATMs saving the need for engineers to visit them for the task.

Multi-Currency ATMs

Role: Consultant / Developer
Organisation: Alliance & Leicester
When: 2007

Developed a Proof of Concepts to demonstrate the dispensing of Sterling, Euro and Dollar notes from an ATM displaying a converted amount in sterling for UK cardholders and Dynamic currency conversion for non-UK cardholders

Role: Consultant / Developer
Organisationsmartphone: Alliance & Leicester
When: 2006

This was a joint venture with VocaLink to develop statements and mobile phone top-ups from a smartphone for A&L customers. It was an exciting project and a precursor to today's banking apps.

ATM Graphics

Role: Team Leader
Organisation: Lloyds TSB Banking Group
When: 2004 - 2005

Lead a team to move the ATM screens from a text-based display to a graphical interface.

Fraud Prevention

Role: Senior Developer
Organisationprevent: Lloyds TSB Banking Group
When: 2004

Developed changes to the core system to prevent a fraud aggressive fraud from ATMs.

Chip and PIN

Role: Team Lead
Organisation: Lloyds TSB Banking Group
When: 2002 - 2003

Managed a high-profile team of seven to implement Chip and PIN (EMV) processing at Lloyds TSB. On time and budget. The project involved;

  • Upgrading the ATM estate PC cores, Card Readers and Software to support EMV
  • Developing code changes to the core BASE24 changes to support issuing and acquiring processing.
  • Upgrading the HSMs to support EMV and the required code changes to support it 
  • Advised the branch team on EMV processing for their terminals
  • Certification with VISA, MasterCard and LINK 

ATM Full Functionality

Role: Team Lead
Organisation: Lloyds TSB Banking Group
When: 2000 - 2002

I lead a team of four to enhance the functions at the ATM allowing customers to use services outside business hours and reducing the load on the branch staff. The enhanced transactions were:

  • Bill Payments
  • Funds Transfers
  • Full Statements
  • Deposits

Fan Balloting

Role: Consultant / Developer
Organisation: Bisys
When: 1998

I developed a custom screen that allowed customers to vote for their favourite Baltimore Ravens player. I think the player with the most votes won a car or something. Anyway, it was an interesting little project.

Y2K

Role: Consultant / Developer
Organisations: ANZ, Bisys, Postbanken, Northern Bank, BIK, IZB Soft FUDICA
When: 1997 - 1999

Like most technologists at the time my time was spent enhancing banking systems so the end of the world would not occur at the start of the millennium. This work usually involved upgrading the organisation's exciting systems and certification with their card schemes. Not the most exciting work but it took me around the world which was great fun!