Professional Experience


Senior Software Engineer Sep 2019—Present


Research Associate–CIMAS, Software Development Feb—Jun 2015

Designed and developed software for real-time data processing in project Argo using C++ and Fortran. Applied machine learning techniques to model and predict ocean conditions.

MillenniumIT, London Stock Exchange Group

Software Engineer Dec 2011—Jun 2013

Back-end C++ software engineer of a novel ultra-low latency, high throughput, intelligent order routing platform, which can sustain market data message rate of over 100,000 updates and order rate of over 10,000 orders a second per partition, with end-end latency of under 100 µs.

  • Designed, developed and deployed various market data, reference data components that receive and publish data.
  • Designed, implemented and maintained database schemas to handle reference data on start of day and on intraday dynamic updates.
  • Designed and implemented performance testing tools to test and validate components in the market data path.
  • Enhanced, optimized and maintained existing component code.
  • Responsible for the design and implementation of custom updates according to client requirements.

Product involvement: SOR for Toronto Stock Exchange (TMX) and Canadian Imperial Bank of Commerce (CIBC), Central Gateway for Hong Kong Exchange (HKEx), Algorithmic Trading System for NineAlpha Capital, Millennium SOR.

Technologies/frameworks used: C/C++, Shell scripting, Vim, Sublime Text, Visual Studio, PL/SQL, Oracle SQL Developer, PostgreSQL, FIX/FAST/ITCH electronic trading protocols, Git, JIRA.


Engineering Intern May—Jun | Jun—Aug 2010

Designed and developed a transmission line simulator using Microsoft .NET, DirectX SDK, Visual C# and ZedGraph.


Engineering Intern Feb 2010—May 2010

Programmed HMIs and SCADA systems using WinCC flexible Advanced. Designed, developed, and deployed an Andon board.