Anthony Dervish, Developer in London, United Kingdom
Anthony is available for hire
Hire Anthony

Anthony Dervish

Verified Expert  in Engineering

Optimization Developer

Location
London, United Kingdom
Toptal Member Since
October 29, 2015

Anthony has over fifteen years of development experience in the telecoms and finance industries, using C++, Python, SQL, and shell. He is used to working in front office and other demanding environments to deliver quality results, on time. Anthony also runs his own consulting company and has released a successful app for OS X.

Availability

Part-time

Preferred Environment

Xcode, C++14, C++11, Unix, Linux

The most amazing...

...thing I've developed is always the last piece of work, as I improve each time! My last project used simulated annealing to allocate limited resources.

Work Experience

Contractor - Senior Developer

2018 - PRESENT
A Startup Market Maker
  • Implemented changes required by quants to an existing system in C++17.
  • Rewrote the configuration management component of the system to allow testing of a central component without external dependencies.
  • Wrote a Python generator for Python bindings to the configuration system.
  • Wrote a Python generator for SBE python bindings to support SBE-based Python test harnesses.
  • Wrote several test harnesses in Python to remove dependencies on external components to test the central component.
Technologies: Messaging, PyBind11, Python, C++17

Director

2014 - PRESENT
Dervish Software, Ltd.
  • Consulted for a startup trading firm, developing low-latency exchange links.
  • Consulted on iOS app development.
  • Consulted on commodities exchange, and developed a prototype exchange in Python 3.
Technologies: Swift, Objective-C, C++

Lead Developer (Contract)

2017 - 2018
A Startup Market Maker
  • Wrote market data feed handlers for CME, Eurex, LMAX and FIX ECNs.
  • Wrote a FIX exchange simulator in Python for several ECN interfaces.
  • Optimized code, reducing Eurex feed handler latency from mills to 95% < 300 microseconds.
Technologies: ZeroMQ, Bash, Python, C++14

Contractor

2017 - 2017
A Startup Commodities Exchange
  • Designed and wrote a prototype commodities exchange in Python3.
  • Designed and implemented a JSON API.
  • Enhanced existing PyQt GUI to show tier and intra-product spreads.
Technologies: PyQt, NumPy, Python, C++

Head of Development

2015 - 2016
X Markets Securities, Ltd.
  • Developed/maintained Eurex and CME feed handlers.
  • Managed development and deployment of FIX links to ECNs.
  • Set up data collection and parsing of market data for backtesting and simulation.
  • Converted the build system to CMake.
  • Developed the core framework in C++; created a book-agnostic API.
Technologies: CMake, Bash, Python, C++14

Lead Developer

2015 - 2015
Insityou, Ltd.
  • Completed the development of an innovative platform to optimize space usage in a building.
  • Designed and implemented graph-based algorithms using Boost Graph Library.
  • Designed production architecture based on AWS and Docker.
  • Implemented optimization algorithms in Python using simulated annealing.
  • Maintained an existing system written in C++/Qt.
Technologies: Amazon Web Services (AWS), Qt, Python, C++14, C++11

Senior C++ Developer

2013 - 2013
KBC Bank
  • Held responsibility for CRM and IRC system calculations system for CDS/CDO portfolios.
  • Maintained imagine trading system in C++.
  • Worked on data warehouse and cube development using SQL analysis services.
  • Worked with Python, Java, and Bash for writing data import and transformation jobs.
  • Provided first-line support to traders.
Technologies: Trading, Microsoft SQL Server, Python, C++

VP C++ Developer

2011 - 2012
Nomura
  • Held responsibility for the middleware of a new HFT system trading bond futures and equities.
  • Designed and implemented a low-latency component interfacing with market data, trading models, and exchange links.
  • Maintained exchange links to Xetra and Euronext.
  • Implemented flexible build framework using SCons in Python.
  • Created, optimized, and maintained a grid (SGE) used by quants.
Technologies: VTune, Linux, Python, C++

Senior C++ FX Developer

2009 - 2011
Barclays Capital
  • Worked solo, or on small teams to implement improvements to BARX FX.
  • Used R for statistical analysis of performance tests, with graphing for trend and outlier detection.
  • Implemented a flexible network monitor that watches for process failures.
  • Introduced and implemented unit tests using GMock and GTest.
  • Implemented parts of a new BerkeleyDB persistence infrastructure.
Technologies: R, Standard Template Library (STL), Boost, C++

Exchange Connectivity Team Lead

2006 - 2008
Citigroup
  • Led a team of four C++ developers.
  • Implemented trade reporting to the LSE.
  • Co-led a project for LSE TradElect and JSE/LSE Infolect upgrades, delivered on time.
  • Worked with gateway middleware vendors to adapt their software to TradElect.
  • Produced requirements for a new network monitoring system (NMS) to monitor equities exchange links.
Technologies: TIBCO, FIX Protocol, C++

C++ Analyst Programmer

2004 - 2006
Credit Suisse
  • Implemented trade reporting to the LSE.
  • Maintained exchange links to cash and derivatives exchanges.
  • As a part of front-office IT, handled queries from program trading to allow them to interface with our software.
  • In charge of message profiling and test system design. Introduced the use of statistics software (R) for performance profiling.
  • Built harnesses in C++/ACE to stress test and gather data.
Technologies: TIBCO, Ace Editor, R, C++

Technical Lead/C++ Developer

2001 - 2004
Centrica Telecommunications
  • Involved with the full development cycle for changes to C/C++ and TCP/IP telecoms infrastructure.
  • Worked as the technical lead on an intelligent network project, as well as the ISUP/INAP/intelligent network subject matter expert.
  • Attended vendor meetings and drove technical requirements gathering.
  • Changed and maintained call processing software, interfacing to the Ericsson AXE switches.
  • Worked with the switch engineers to implement new call processing features, generated by product marketing.
Technologies: Telephony, Programming, Transmission Control Protocol (TCP), C++

Market Data handlers for FX, Equities and Derivatives Exchanges

I have developed several low-latency feed handlers in modern C++ for market data, for LSE, CME, Eurex, LMAX and other exchanges. I have worked in several tier-1 banks, and for a couple of trading startups.

Protocols include FIX, FAST, and binary protocols.

Each feed handler has required learning the market model, and taking the handler through design, implementation, testing, certification and production support.

Prototype Commodities Exchange in Python 3

I designed and developed a prototype commodities exchange for a startup company, supporting a novel API, integration with a Qt GUI, and first-level implication logic.

Real-Estate Planning Software in Python

https://www.gospace.com
I wrote the initial version of the backend for the real-estate planning software used by GoSpace. When I left, this was the version in use, and demoed to large real-estate customers.

The software was written in C++ and Python, and made heavy use of graph and physics algorithms to allocate seating in large buildings, in a more efficient manner than current, manual estate planning.

I worked with front-end engineers, using agile planning to iterate quickly over versions.

I was attracted to this role because of the chance to develop a new class of software, and because I'm interested in optimisation algorithms.

Mail assistant app

I developed a plugin for Apple Mail.app, which has been successfully saving several hours a week for users! It has received excellent reviews in Mac journals.

iPhone Messages Viewer on MacOS

For a Toptal contract, I developed a viewer for iPhone messages on MacOS, allowing a user to browse archived messages and export those messages in several formats -- PDF, Excel, or CSV.

Languages

C++14, C++, Python, Objective-C, Bash Script, SQL, C++17, C++11, Swift, R, Bash, Java

Frameworks

Boost, Cocoa, Qt

Libraries/APIs

Standard Template Library (STL), NumPy, PyQt, ZeroMQ

Tools

Xcode, Vim Text Editor, VTune, Ace Editor, CMake, Microsoft Visual Studio

Platforms

MacOS, Linux, Unix, Amazon Web Services (AWS), iOS, Docker

Other

Optimization, App Design, Boost.Asio, TIBCO, Trading, Transmission Control Protocol (TCP), Programming, Telephony, PyBind11, Messaging, FIX Protocol, Graph Theory

Paradigms

Template Metaprogramming

Storage

Microsoft SQL Server, MongoDB

1993 - 1994

MSc Degree in Computing

Imperial College, University of London - London, England

1990 - 1993

BSc Hons Degree in Physics

Imperial College, University of London - London, England

DECEMBER 2014 - PRESENT

Functional Programming (Introduction)

DelftX

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring