Dmitry Khvorov

Dmitry Khvorov

C++ Software Developer


Personal Profile

I'm a senior C++ software developer with passion for working on complex high-performance and low-latency systems for finance and telecommunications. Furthermore I have great exposure in embedded systems, embedded and low-level software development on C and assembler (x86, ARM, AVR). I have more than 12 years of experience in commercial software development working on big projects as a leading software developer and as a manager of a software development team.

Key Skills

  • C/C++
  • Java
  • Assembler
  • Erlang
  • SQL
  • UML
  • multithreading
  • network programming
  • low-latency
  • embedded systems
  • cryptography
  • design patterns
  • Linux/Windows

Work Experience

Bank of America Merrill Lynch, Singapore

Senior C++ Software Developer, Assistant Vice President

March 2013 - June 2016, Assistant Vice President

July 2011 - March 2013, Contractor via Luxoft

  • Implementation of new features for pricing servers for FX spot/forwards and swaps
  • Optimization of server-side applications for speed and latency
  • Remediation of price aggregation and order execution engine
  • Remediation of FX forwards pricing server, improving its stability and performance
  • Development of high-throughput server for feeding data to back-end system. All prices, quotes, trades from three regions (London, New York & Tokio) are fed to an instance of KDB database in real-time
  • Development of pricing server for NDF currencies and integration of NDF trades flow from FXALL multi-bank platform to Mercury FX

General Satellite Corp., Russia

Team lead

December 2009 - June 2011

  • Main task for my department was development of devices, middle-ware and high-speed data processing applications for Conditional Access Systems for Digital TV
  • I was responsible for planning and control of projects development, reporting to top management of company, as well as development of architecture for business-critical projects (C++, Linux/Windows)
  • The technology for additional protection of digital transport stream was developed and standardized. The process of integration of this technology into chipsets for digital TV set-top-boxes was standardized as well
  • The technology for transport stream protection was integrated into the most used chipsets in the STB market (ST, Renesas)
  • I've managed to improve development processes by introducing new agile development model, the Coding Conventions and documentation standards

Senior C++ Software Developer

January 2008 - December 2009

  • Development of a high-throughput cross-platform scrambler for MPEG transport stream. The scrambler is used by several Digital TV providers in Europe and Russia for protection of the content. (C++, Windows/Linux, multithreading, networking)
  • Development of firmware for a CI module for decryption and viewing of HD video and audio streams. (C, Posix)
  • Development of security smartcards for Conditional Access System DRECrypt and PROCrypt. I was responsible for development of software architecture, planning, negotiations with foreign vendors of microcontrollers, analysis of security and software development (embedded C)
  • Development of the personalization system for smartcards. I was responsible for development of system's architecture (3 layers - end-user software, middle-ware & business logic, database server), planning, tasks management and programming (C++, Linux, SQL, networking, multithreading).
  • Development of a "black-box" encryption device for network traffic processing. The client library for communication with the device was developed as well. The device encapsulates all cryptogtaphical routines and used as the main encryption engine in CAS system on the provider side. (embedded C, C++ on client side, networking)

C++ Software Developer

August 2004 - January 2008

  • Development of the software for digital satellite and terrestrial receivers (user interface, OSD, antenna and positioning management system) (C, assembler)
  • Integration of different Conditional Access Systems into General Satellite's receivers (C, assembler)
  • Development of distributed system for delivering decryption keys for an encrypted content (C++, Linux/Windows)
  • Development of hardware true random numbers generator and a client library for it (embedded C, C++)

The "Krasnaja Zarya" Plant, Russia

Embedded Software Developer

July 2003 - February 2004

  • Development of drivers for HDLC and HSCX communications protocols for message passing between blocks of automatic telephone station (embedded C)
  • Development of drivers for communication between standalone devices of automatic telephone station (embedded C)
  • Writing technical documentation

Scientific Research Institute "Rubin", Russia

Software Developer

September 2002 - September 2003

  • Development of a GUI tool to restrict access to network resources for different users (C++, Linux, Qt)
  • Administration of mail servers, NNTP server, WEB and FTP server
  • Conributing to the VOIP project

"Night Bird" LLC, Russia

Embedded Software Developer

August 2001 - July 2002

  • Development of firmware for PCI board which is used in the home automation system “Terminus” to monitor and collect data from sensors (embedded C, x86 assembler)
  • Development of software for different sensors of home automation system
  • Development of testing applications
  • Writing technical documentation


Saint-Petersburg State Technical University, Russia

2000-2006, Engineer diploma

Radiophysics faculty, Radiotechic and Telecommunications department

Theme of the graduate thesis is "Modeling and research of low-frequency filters based on current conveyors and switching capacitors"

Project management (


One week training on project management


Date of birth

23 April 1983






English, Russian