email: [email protected]


Major skills:              C/C++ all variants, cross platform

Experience of:         Team leading, scrum, UML, full project life cycle, design patterns, multithreading, assembler, firmware, C, C#, Python, Java, ant, HTML, XML/XSLT, purify, google test, CPP unit, Jenkins, DevExpress, DCOM, CORBA, BOOST, Win32, MFC, ATL, Rogue Wave, Swig, SQL, MS SQL Server, MySQL, Stored procedures


Aug 2018 –                        BNP Paribas

Overview: Realtime price caching system, and GUI development.

Major tools used: C++ and C# on Visual Studio 2015, python.

Some examples of development work performed:

Responsible for C++ development of realtime price delivery system that avoids existing database usage.

Responsable for Explorer like GUI. Added DevExpress TreeList control to show active sets, with realtime highlighting.

Python comparison tool to diff existing deployment with source controlled version, in order to aid roll out of ansible.

Jan 2011 – Apr 2018                     Morgan Stanley

Overview: VP at Morgan Stanley, direct market access to equity, FX and derivative exchanges.

Major tools used: C++11/14, Linux, boost, google test, Jenkins

Some examples of development work performed:

Responsible for new development of FX client FIX gateway that provides access from external clients to the internal plant. This consists of both quotes and orders flow.

Worked on a high volume, low latency client FIX gateway replacement for the current plant. My tasks included writing the limits checks and product lookup. I ensured the development had the majority of testing written in google unit tests as opposed to the previous implementation’s system tests in order that failures could be detected earlier.

Designed, developed and implemented a low latency generic framework for FIX4.2 to Exchange Protocols. The framework utilized low latency kernel bypass and provides risk checks.

The framework provides FIX4.2 connectivity to Eurex, Euronext and LSE and in addition non-translating connections to Ouch, Millennium, Eti and Ets protocols.

To facilitate easy testing I added boost unit tests to the code base and introduced the use of swig to expose the C++ message factories to python in order to do system level testing.

Jul 2006 – Dec 2010                     PatSystems Ltd (bought by ION trading)

Overview: PatSystems was an ISV service provider to the derivatives trading industry.

Major tools used: VC++ 7, CPPUnit, ant, XML, XSLT

Some examples of development work performed:

Introduced the use of automated build scripts for release and an overnight build process to ensure consistency of shared component interfaces.

Maintained and enhanced CME/ME/SGX/OMX/SFE/IPE/NYBOT/CCFE/CCX connections.

Increased the speed of SGX exchange connection start-up by 6 fold.

Implemented XSL/XML transformations for generic FIX exchange connector to connect to Montreal Exchange.

Apr 2003 – Mar 2006          Cohagen Capital Finance Ltd

Overview: Cohagen Capital Finance is a group of derivative traders.

Major tools used: VC++ 7

Some examples of development work performed:

In a team of 3, wrote an AutoTrading algorithm, which became the basis of the company.

Wrote a P&L calculator for risk management and accounting purposes.

Upgrades to exchange components Liffe and Eurex.

Feb 2002 – Dec 2002             Eccoware Ltd

Overview: Eccoware was a developer of futures and options trading systems.

Major tools used: Visual C++ 6, MFC, STL, ATL, multithreading, Objective Grid

Some examples of development work performed:

Speeded up the system 5 fold as independently measured.

Fixed recurrent crash bug occurring on users sites, missing a stack trace.

Enhanced calendar spread matrix to show grouping of dates by colour.

Involved in extending Eccoware system to provide a graphical user interface to Rolfe and Nolan system.

Jun 2001 – Jan 2002              Holiday

Tour of France, Gained a CELTA qualification, Learnt Java 1.1.

Nov 2000 – May 2001            FFastFill Europe Ltd.

Trading system using VC++ 6, SQL Server, Objective grid, COM.

Jan 1999 – Nov 2000             IQ Financial Systems Ltd.

Trading system using Unix SunOS C++, Visual C++ 6, Cora

Jul 1997 – Jan 1999          National Westminster Bank Plc.

ATM development using VC++4.2, OLE/COM, VB 5, ATL 2.0, sockets, NT services

Sep 1994 – Jul 1997                  PSION Plc.

Handheld portables devices using C, assembler, MFC, Win32, VC++ 4.2, OLE/COM, OOD/P, Booch

Jan 1993 – Sep 1994             Croda Plc.            

Chemical raw materials analyst.


1994-1995       Diploma in computing (Distinction in all courses), The Open University.

1991-1992       M.Sc. Non-linear Mathematics, Heriot-Watt and Edinburgh University.

1987-1990       B.Sc. Joint honours in Mathematics and Physics, The University of Durham.

1985-1987       3 grade ‘A’s, 1 grade ‘B’ and Physics Special Paper ‘1’.

College’s Physics and Overall Achievement Prizes.

1980-1985       6 grade ‘A’s and 1 grade ‘B’.

School’s Maths and Physics Prizes


Good references available on request.