Senior C++ consultant for &ldquoInstinct FX&rdquo.
Bank Of America FX Trading (Instinct FX)
9/2019 -
The trading platform runs 24/7 in master/slave configuration across New York/London and Tokyo sites. Day to day work is on C++14/Linux using Git for source code control and Jenkins continuous integration. Sybase DB.
Implementation, test and deployment of Multileg NDF FIX orders. Implementation exposes pricing/ quoting/execution and auditing of in/out bound FIX requests (QuoteRequest, NewOrderMulti and ExecutionReport). Complete workflow solution, from &ldquoquote request&rdquo, &ldquopricing&rdquo, &ldquotrade&rdquo, &ldquoexecution&rdquo through to &ldquoauditing&rdquo.
Solely responsible for 100% greenfield implementation from requirements gathering, design, coding, test and deployment to production for &ldquomonitoring service&rdquo. The service (both synchronous and asynchronous in nature) monitors access to FX platform, alterations to trading permissions, addition of new roles/permissions and (de)allocation of same to traders/sales team.
Implementation of messaging/alerts microservice using internal text-based messaging service (key value pair). Service provides alerts when invalid quote requests/trading executions are requested. E.G. trading on bad stale quote, quoting request on bad currency pair, trading on duplicating client order ID. Implementation required code additions to be FIX microservice and trade execution microservice.
&ldquoBusiness As Usual&rdquo work in parallel (bug fixing), front office support (direct contact with front office/stakeholders),
Senior Engineer/Principal Engineer/Architect.
IHS Markit
10/2018 - 9/2019
Involved in all aspects of greenfield primarily C++ implementation of trade/clearing platform for leading Japanese bank (Some Java 8 development work). Development environments are Linux and Windows based. Continuous integration on Gitlab with Docker used for containerization.
Chief engineer, C++/C#/Java
Omnivend
6/2017 - 10/2018
Java maintenance and enhancement of Java/C++ services for online transaction processing. SQL server maintenance, migration of existing architecture to more cost-effective real-time solution (via T-SQL stored procedures). Development environment Visual C++, Microsoft SQL Server and Microsoft Visual C#.
Senior low latency C++ developer for trading platform
Bloomberg
4/2016 - 4/2017
Low latency C++ development/maintenance/DevOps to all aspects of trading gateways. DevOps duties included maintaining and enhancing over 50 supported gateways (worked primarily with LME), Duties varied from real-time market data processing, FIX protocol adjustments/changes (based on new specifications or bugs) and trade/order processing. Hands on all aspects of development from requirements analysis, implementation/test to RPM package release (the RPM was then handed over to QA team). Agile development based on Jenkins continuous integration with GIT source control. The gateway packaging was migrated to RPM which needed to be coded and validated before QA handover.
Senior C++ developer TCP-IP CORBA/Linux
Credit SuisseCredit Risk (project cut due to CS losses).
1/2016 - 3/2016
Development and maintenance of RAD "Fundamental Review of Trading Book". Low level TCP-IP performance/bottleneck improvements. Refactoring of TCP-IP socket library, architecture review of application critical CORBA "Database Server&rdquo. Extension of Oracle SQL meta data tables for FRTB infrastructure. Scrum based development.
Senior Core Java/Linux/Windows developer.
Structure101
11/2013 - 11/2015
Greenfield core java (JDK 6 and 8) environment. Low level bytecode analysis via ASM parser and generation of &ldquodirected graph&rdquo data structures. Support for Java 8 lambdas, default methods etc. Licensing code rewrite. Highly threaded and extensive design patterns in codebase. Development of Web/HTML clients to RESTful Jetty server over HTTP. The D3 toolkit is used on the front end browser over HTML/JavaScript. Development work both on the client (HTML/D3) and server (core java) side. Full life cycle development, from analysis, design and implementation to test and release. AGILE work environment with Jenkins continuous integration.
Senior C++/Java/Linux developer for Credit Risk (Value at Risk).
Natixis Investment Bank
12/2012 - 11/2013
C++ development and maintenance/DevOPS of VaR (Monte Carlo and parametric) calculations as well as &ldquobanking compliance&rdquo stress tests. Integration of quant &ldquonegative rates&rdquo C++ model. Development, and production support /improvement of unitary tests and general maintenance of application along with feature enhancements. C++, XSL, Java and Perl development environment alongside Datasynapse grid. Some SWING work for end user GUI. Perl scripting for &ldquoclose of business&rdquo integration/parsing of front office XML (XML generated by both Summit and Murex).
Senior C++/Linux developer for algorithmic trading systems.
Chevreux, Paris
1/2012 - 12/2012
Linux based C++ development for C++ server algorithmic processes. Rewrite of &ldquoIceberg&rdquo strategy based on new infrastructure and trader specifications. Maintenance and enhancement of existing C++ algorithmic trading strategies. FIX protocol tracing/debugging. High performance and minimal latency programming.
Senior C++/Java Linux/Solaris/Windows developer, Trade and Market Data capture.
BNP Investment Bank
6/2010 - 1/2012
&ldquoMulti Venue&rdquo trading order book and market data capture. Extended server(s) to provide derivative order support (as shared library plugin) capturing market data (over Tibco Rendezvous) and trade data (over TCP-IP/CORBA). The server records order/market data and provides real time access for connected client /algorithmic trading systems.
Optimization of threading code and maintenance/enhancement of real-time message delivery (Tibco) subsystem. Extended test environment to provide &ldquotrue&rdquo production system testing. Repair &ldquolegacy&rdquo stability issues. Provided easy to use C++ interface for new unit tests and integration with continuous integration system (Bamboo). Migration of C++ and Java CORBA &ldquoOrbix&rdquo modules to TAO/ACE and Jacorb infrastructure Design and development of C++ code generation utility (using java) to expose &ldquoSTL friendly&rdquo client interface library.
Senior Java/C++/Linux consultant, Credit Risk (VaR Exotics).
Societe Generale Investment Bank
3/2009 - 3/2010
The production environment runs java servers alongside a 2500 CPU Symphony C++ grid. The architecture operates in conjunction with numerous backend databases (Oracle/Sybase).
Deployment and maintenance of multithreaded Java/C++ service exposing Quant volatility interpolation service (implemented over JNI/SWIG). The service permits 5 levels of volatility to be extracted from 260 based on historical/stressed market data, and subsequent interpolation to be performed on pricing results. Extensive convergence testing (using excel) for entire &ldquoexotic&rdquo product scope (Monte Carlos and PDE&rsquos). Integration of new pricing parameters in direct liaison with the Quant team.