Mohith Suryanarayan
Mohith Suryanarayan
Professional Profile:
• Proven, hands-on experience in design, development and maintenance of real-time, low
latency applications for high performance computing servers.
• Excellent programming skills in C, C++ on Linux using STL, Boost, Python, CMake, GDB,
GTest, MySQL etc.
• Strong working experience in OOAD, GoF Design Patterns, UML, Multi-threaded
applications, Algorithms, Data Structures, Socket programming and Agile methodology.
• Excellent customer facing, problem-solving and interpersonal communication skills.
• Experience in Team leading/Feature leading.
Technical Skill-Set:
Operating systems Linux (Kernel, IPCs, Sockets, Threads), Windows CE
Languages C, C++14/17 (STL, Boost, Kafka, Redis), Python
Databases MySQL, SQLite
Financial Protocols Equities, Derivatives (F&O), FIX, OUCH, Eurex Market Data
Miscellaneous TCP/IP, UML, Agile/TDD, Test Automation, GoF Design Patterns, RESTful
APIs
Tools GDB, GCov, Valgrind, GTest, Lint, DOxygen, GIT, Jenkins, CMake, Splunk
Experience Summary:
• Feb 2016 till date at Bloomberg Lp, UK as Sr Software Engineer.
• Jun 2015 to Jan 2016 at Nanospeed Technologies, UK as Software Contractor.
• March 2014 to May 2015 at Fixnetix Ltd, UK as Software Engineer.
• Jun 2013 to March 2014 at ABB Ltd, UK as Sr Software Engineer.
• Aug 2008 to Jun 2013 at IP Access, UK as Sr Software Engineer/Team Leader.
• Jun 2003 to Jun 2008 at Nokia Siemens Networks, INDIA as Executive Engineer.
Education Details:
▪ First class Bachelor’s degree in Computer Science & Engg. from Bangalore University,
INDIA.
Page 1 of 4
Professional Experience:
Tasks undertaken:
• Design & develop a broker-based pub/sub messaging library using BMQ (Bloomberg
MQ)
• Design & develop a task for consuming data ticks over Kafka & publish over Bloomberg
API.
• Design & develop a task for caching config data on Redis backed by SQL database.
• Performance optimization, profiling & refactoring the existing components.
Tasks undertaken:
• Feasibility study and prototyping for Eurex's EOBI market data feed handling.
• Design & develop APIs, libraries for EOBI/EMDI Market Data Notifications and ETI
Trading.
• Design & implement EOBI market data feed generator using Python.
• Design & implement Test Automation Framework using Python unittest.
Tasks undertaken:
• Design & implement a software model of FPGA's OrderTable/SymbolTable, risk checks
etc.
• Design & implement Test Automation Framework using GoogleTest, ZeroMQ, Boost.
Page 2 of 4
• Implement Wireshark dissectors for Arrowhead, ASX-OUCH and ChiX-OUCH
protocols.
• Implement Cancel Single Order and Mass Order Cancel features for ArrowHead, FIX &
OUCH protocols using Boost Asio, Threads and Memory Mapped files.
• Code optimization for latency improvements.
• Python scripts for software packaging and release management; convert Makefiles to
CMake.
Tasks undertaken:
• Design of UML class diagrams, sequence diagrams & state machines by applying GoF
patterns.
• Development in C++ of real-time, distributed applications for Call Processing, Platform
Monitoring, Data Routing etc.
• Development of C++ libraries for asynchronous TCP/UDP communications, MySQL
database interfacing, Logging, Timers and OAM.
• Development of frameworks for sub-system test, test automation and continuous
integration.
Tasks undertaken:
• Application prototyping and profiling for evaluating different platforms.
• Design of low-latency OAM applications using UML on Rhapsody, development using
C++ on Linux, and unit testing with CppUnit.
• Development of wrapper libraries for smart pointers, POSIX thread management and
SysV IPCs of Shared Memory & Semaphores.
Trainings Attended:
➢ At Bloomberg, London –
o C++14
➢ At IP Access, UK –
Page 3 of 4
o Windriver Linux, IPv6
Page 4 of 4