Curriculum Vitae

Summary

  • Senior Software Analyst/Developer with nineteen years of experience in the Investment Banking industry

  • Proven track record of designing and developing software solutions to complex business problems using Java, JavaScript, C# and C++, both on the user interface and server side

  • Made a significant impact to the business by delivering on a diverse range of projects from back-office client reporting and server-side processing to front-office real-time trading

  • Primarily involved with software development but worked on all stages of the software life-cycle to help build good relationships with Traders, Investment Advisors and Operations staff

Employment History

G Research

Data Engineering

March 2022 – Present (Contract)

Fitzrovia, London

Kotlin; Spring Boot; Kubernetes

Worked as a senior developer within the Data Engineering team responsible for ingesting data sets and making them available to Quantitative Analysts. Re-wrote a number of data ingestion streams as part of G Research’s multi-year migration to a private cloud platform. This involved porting a series of complex SQL based data transformations to Kotlin Spring Boot applications interfacing with Kafka running through Kubernetes. Developed a library as a Kotlin DSL to upload CSV data to SQL Server to simplify part of this process and facilitate re-use.

Built an automated testing tool in Python to compare the results of the new application vs. the old using the index-merge algorithm. This tool has been useful across the team for other regression testing efforts.

Worked with a second team in G Research to build a number of data downloader tools in Kotlin. These downloaders are more reliable and easier to monitor than the shell scripts that they replace and provide a pattern for future downloader efforts in Kotlin / Kubernetes.

HSBC

GDM Falcon

July 2021 – March 2022 (Contract)

Canary Wharf, London

Front Office; Sell Side; Java 8 Service; Google Cloud Platform

Built an end-to-end testing environment using Google Cloud Platform, Docker and Jenkins for the GDM Falcon Core team.

BNP Paribas

Credit e-Trading

April 2019 – June 2021 (Contract)

Marylebone, London

Front Office; Sell Side; Java Micro Services; Spring; FIX; ION

Developed an internal ION gateway to trade Asset Backed Securities. The Java service manages the workflow between sales and traders within BNP using a finite state machine to keep track of the state of the request as it goes through the negotiation process. When agreed a trade is published to ION for downstream consumption. A data warehouse component was also built to log all changes to the request for MiFID compliance. Worked with the front-end Omega team to agree a JSON API and with the business to understand workflow for this new market.

Developed a service to read credit pricing data from MarketAxess. The service comprises a FIX acceptor which consumes a stream of data published over a secure TCP connection. Written in Java using Quickfix/J, the service publishes the prices to BNP’s ION environment for use by the quants team.

Built a plug-in for ION.Net to allow BNP Credit traders to execute orders received from Blackrock. When orders are received the plug-in allows the BNP trader to adjust the agreed quantity to fill or partially fill an order. This plug-in, written in C#, uses ION’s proprietary .Net libraries to display the order to the trader as well as the result of some internal consistency and compliance checks.

GammaDEX – Decentralized Ethereum Token Exchange

Personal Project

March 2018 – April 2019

Canary Wharf, London

Ethereum Blockchain; Solidity; JavaScript; Node.js; React; PostgreSQL

Engaged in a full-time project with two former Morgan Stanley colleagues to build GammaDEX, a decentralised Ethereum token exchange with the aim of building the application out in to a profitable business. GammaDEX went live in August, 2018 and attracted a small but loyal user base.

Primarily focussed on the design and development of backend services to synchronise orders between GammaDEX and external exchanges sharing the same smart contract. The system maintained a complete order book in our PostgreSQL database and had to load data from unreliable and inconsistent external exchange sources.

Morgan Stanley & Co.

Investment Management (MSIM)

Aug 2015 – March 2018 (Contract)

Canary Wharf, London

Front Office, Buy Side; Java 8 Service; Sybase

Sole developer on Juno, a greenfield project to develop an Investment Book of Record for MSIM. The Juno Engine calculates positions on demand from underlying transactions to produce real-time positions for use in downstream applications such as MSIM’s order entry and reporting systems.

Transactions are loaded in to a Sybase database, via a SOAP based service, from ESP, the Accounting Book of Record supplied by a third-party vendor. Transaction deltas are loaded using a synchronisation process that determines which transactions in ESP need to be cancelled/inserted/updated in the local database.

By using Juno to reconcile positions vs. ESP we identified 30 problems with the vendor’s end of day processes, several of which they could not fix. Juno is providing the MSIM business with up-to-date, accurate position data which cannot be provided by the vendor alone.

Credit Suisse Securities Ltd.

Market Risk

Feb 2013 – Aug 2015 (Contract)

Canary Wharf, London

Back Office; C# (WPF); UI Development

Built a series of enhancements to the WPF based TSRD GUI including an interface for a new mechanism to analyse and manage the quality of time series data. Introduced view composition using dependency injection with MEF and MVVM Light to make the code base more manageable, help with unit testing and allow greater component reuse.

Morgan Stanley & Co.

Private Wealth Management (PWM)

Sept 2000 – Feb 2013 (Permanent)

Canary Wharf, London

Front & Back Office; C++; Java; C# (WPF); UI & Service Development; Sybase

Re-wrote the data abstraction and reporting service layer in C++ to enhance the monthly statement generation process. PWM went from generating 70,000 client reports in eight hours to 1 million client reports in 30 minutes on the same hardware.

Sole developer and co-designer on a project to replace the transaction booking system in all PWM regions.

Skills / Education

Server Technologies

Java 11; Kotlin; C/C++; JavaScript (Node.js); PostgreSQL/Sybase/Informix; FIX; ION; Spring; Kubernetes; Docker; Google Cloud Platform; Kafka

UI Technologies

C# (WPF); Infragistics; Vaadin; JavaScript (Angular.js, React, Redux); Web3

Business Knowledge

Investment Banking; Market Risk; Portfolio Accounting; Financial Products (incl. Equities, Bonds, Mutual Funds, Listed Options); Data Mining

Academic Achievements

BSc (Hons.) Computing Systems 2:1 from The Nottingham Trent University; 3 A-Levels

See Also