- Passionate Result Driven and Articulate electronic trading technology professional with Twenty - two years of leadership driven experience in full software development starting from Requirement Analysis, Design, Development, and 24*7 Production support of real time critical applications.
- Hands-on expertise in C++ 11/14, Java and various scripting languages.
- Demonstrable track record of architecting, developing and delivering major Trading systems ground up and driving towards the “fit for purpose” target technology state.
- Well experienced in Re-engineering existing platforms to increase capacity and improve performance.
- Experience in managing large scale global technology organizations focused on recruiting, mentoring, and promoting talent.
- Build successful partnerships with technology peers and business heads in planning and delivering a cohesive business-technology strategy for the revenue generation.
EXPERTISE AND EXPOSURE IN:
- Post Market Trading
- Reuters Security Master and Bloomberg, Large data sets
- Fixed income, Futures OMS
- Equities and Portfolio Trading, Risk Framework
- 29 West/UMP, Messaging
- C++ STL, templates, Boost
- Linux TCP/IP
- C, perf, Utune, perf
- FIX 4.4
- Linux Ubuntu
- C++ 11/14, gcc 7.2, clang
- Linux IPCs
- Java 7.0,JUnit
- Perl and Bash Script
- Posix,std Multithreading
- Kdb, Sybase, Redis, Kafka
- Data Structures and Algorithms including hash, map, sorting, linked list, binary trees etc
- Git, ClearCase, SVN, Jenkins, JIRA, Perforce
ConfidentialApp Dev Team Lead/Manager
- Designed a Secure Centralized Crypto Currency Exchange to trade, exchange and settle various crypto currencies.
- Developed Intel SGX Hardware enclave libraries in C++ 14.
- Developed orderbook and settlement based upon Cornell professor Research Paper on secure intel SGX
- Trusted library and remote attestation model. Used kafa Queue.
- Hub sever in Go lang to service various requests from the user to start/list/cancel image with stream interface to Kubernetes Daemon and Digital Ocean client. Used RabbitQueue, Redis Memcache and gRPC communication in golang. Designed and built REST APIs.
Confidential, New York
App Dev Team Lead/Manager
- Low latency Lead Risk Infrastructure Developer in C++ 11/14 Linux Platforms for Limit checks and breaches. Multithreaded architecture and in-memory ring buffer data structures. 100s of OMS connecting to the server.
- Responsible for delivery of Aggregated breach callbacks using message contracts for various trade orders both in-band and out-of-band. Low level latency profiler and measurements using RDTSC, perf. The C++ interface Handles FIX, XML and blob and google protobuf message formats. Heavy Boost, Smart ptrs.
- Various tools in C++ like Fast string optimization, conflated Queues, race condition elimination.
- Lead Architect and Developer for Global Short Sell Locate Manager in C++. Short Sell Re-architecture is an important Initiative by the company for Asia, Europe and Americas.
- Work with the Creator of C++ Bjarne and guided by him. Leading team of Size 8 for Short sell locate and Dynamic Limit allocation. Atomicity, lock free, binary log, zero copy string buffer, unique ptr, boost mpl, threading.
- C++ 14 Kdb GPB library to publish a KDB table to various consumers via in house messaging infrastructure and Google protobuf. Used by various teams internally. Good working knowledge of kdb.
- Designed various test systems using GTest and other performance optimization tools. Test systems for integration testing, regression, functionality testing etc. automation of build in Jenkins CI env.
- Conducted various code reviews for Java/C++/python code and design discussions. Proven mentor to other developers. Leadership (tech and non-tech) to junior to senior developers.
- Various new architecture POC and recommended new design and frameworks.
Confidential, New York
App Developer Team Lead
- Lead Ultra-Low Latency High Frequency Trading system developer. Handles DMA Connectivity new client specs development and automation of test cases for Classic Risk, OMS, Limit Checker and Exchange Connectivity testing framework. This is for Equities and Foreign Exchange.
- Broker Tec Market Data driver in C++. Development done on Visual studio windows 2010 environment. High speed Market Data prices into memory map for downstream processes.
- Compression of Large orders 10 Million Plus into few thousands and categorization into appropriate buckets based upon order path, venue and Fix Tag specifics. Lock Free Journal logic and hash map and trees Data structures. Less than 2 mins end to end latency to go thru order book for a order chain for 10 Million orders.
- Lock Free Journal Print protocol enhancements and display in JSON, XML format needed for business and downstream systems.
- Guidance and mentorship (India/UK team) for GUI based log replay engine and support for binary protocols. architecture level, code review, testing, deployment. Done in C++ and Java.
- Java replay engine dev for parsing LFJ data and feeding to OMS. Replay Engine supports binary protocols.
- Test Driven Development and QA automation frameworks contribution. Guide and Coach QA/Dev on writing unit testing, functionality testing, regression, system and eliminate manual work end to end.
- Developing Low latency test framework infrastructure to write APIs for DMA and FPGA and Limit Checker processes. C++, python, cucumber, graddle, Shell and Perl scripts are used to drive the test engine.
- Fixing Cppcheck issues like memory leak, refactoring and redesigning code for better performance, better data structures using Concurrent Map, Concurrent lock free hash map etc.
- SWIFT tag changes Design of code in C++ using Design Patterns and object oriented fashion.
- Led a team of Eight Engineers to architect and redesign FED Report for regulatory team. Design and developed new reports and revised existing reports based on functional FED mandated revisions. Done in C++, Perl, and Sybase. Oversee Code Review, testing and deployment to production. Data set includes at least million records. Mentored Junior and Mid-Level Developers for various Reporting database design,
- Responsible for enhancing C++ Code to update various clearing and settlement codes. This involves writing Special stored procs, Shell Scripts and changing C++ Modules. Environment is Linux and Solaris
Technical Lead dev, VP and Tech PM
- Reconciliation of several basket and FX trades including matching, exception generation, reporting in C++.
- Responsible for Enhancing and modifying C++ basket Order Initiation book data structures using boost STL.
- C++ code development in High Frequency/Low latency Linux environment for new business requests for various alerts, orders splitting and downstream systems message format modification.
- Support day to day issues related to Portfolio trading desk requests from PM. Support
- Involves fixing problems and issues on the fly in High Pressure Trading Environment efficiently.
- Improved the stability of the overall system by analyzing the crash dump of the process, log files, managing day to day expectations of the traders, operation users.
- Leading, Mentoring and Guiding offshore and onsite team of Six on code reviews and bug fixes and production stability.
- Responsible for developing various FIX parsing Linux shell scripts to look at FIX order messages both at client level and internal Merrill tag level and various downstream systems.
- Debugging End to End systems by analyzing various incoming stream of data and working effectively with several electronic trading system team leads and development leads and portfolio trading desk.
- Responsible for automation of several weekends, start of day, end of day across large systems using Perl, Korn Shell, Batch scripts as some OMS Processes runs on Windows Cluster and mainly on Linux.
- Responsible for developing various alert scripts to alert traders for various combinations of FIX orders using MS SQL Server database, Perl and batch scripting and Python. f Six offshore team members to bring them up to speed on the OMS, Exchange connectivity system. Assign scripting, database stored procedure work to them on an weekly basis. Conduct Performance reviews and mentor junior developers.
- Responsible for automating the complete release cycle and deployment of applications using continuous integration tools like Jenkins, Puppet.
- Lead teams of size 4 to 6 in Americas to handle support Trader issues and also Business enhancements and scalability. Key liaison between stakeholders and development team for requirements and new features.
- Support issues related to FIX, Appia configuration, Futures Exchange connectivity.
- Bug Fixes related to C++ Code in FIX Appia Engine Process, Perl Script to track Order Ids from FIX Messages at various downstream processes on Linux.
- Enhancements and modifications to existing Order Router STOMP to route based upon fix Message types, symbol based routing in C++, Linux.
- Good experience of scripting for process automation and system task efficiencies.
- Gathered all user requirements for the migration. Designed and wrote all test plans for the migration. Led team of size 4.
- Hands on C++ Development for migration of all C++ modules for existing clearing agent including migration of all C++ modules, Perl migration, upgrade to Solaris 10, upgrade to Sybase 15, and UNIX shell scripts.
- Led the effort to develop new market data feeds using various Market Data Drivers.
- Responsible for the entire effort from project initiation to project closure - starting from requirement gathering, writing functional and technical specification, development, and successful production release. Hands on development in C++ for ARCA,INET,Posix Threads
- Development performed in C++, Windows, and Sybase for taking Security Master-data from Reuters Data scope for Equities, Options, Indices, and Futures.
- Extensive use of boost STL libraries
- Written Easy to Borrow, Hard to Borrow APIS for OMS Developers.
- Written Suffixes API for different symbology translation.
- Responsible to develop several new market data feeds in C++, Posix Threads. Used boost map,hash map data structures in High Frequency/Low Latency environment.
- Design of Market Data stream driver, feed process for ARCA, INET, SIACDRIVER, BOOKSERVER, QUOTESERVER. Developed processes in C++ using WIN32 APIs including TCP/IP, SHARED MEMORY, MUTEX, SEMAPHORE and CRITICAL SECTION, MULTICAST SOCKET.
- Some MFC Classes were also involved including GUI development. Fine-tuned existing processes to reduce CPU usage.
- Led a team of 3 developers.
Senior Software Developer
- Designed and developed trade execution and communication channels for different asset class including swaps, and derivatives for an online Bond Trading (Bids/Response) System in C/C++. BW, BWR.
- Supported front-end traders, customers, and other members of the team to troubleshoot real-time issues.
- Designed and developed the swap database engine to save and restore various pieces of swap types including asset swap, Cap/Floors, Total Return, RACL, Fix-float, Float-Float in C/C++/..
- Developed various tools, Interface APIS, Offline processes, shell scripts to automate DB updates, Shared Memory update, Upload Swaps, Trading System Interface. Developed end of day swap position reports
- Real time online support of critical bug fixes of various DRQS. Swap Transfer utility, Swap API utility to send the data to various other processes using Bloomberg Internal API.
- Designed and developed a generic TCP/IP interface class library in C++ for VMS,Solaris and Windows.
- Developed the Interactive Voice Driver in C++ utilizing VMS/Windows 2000 System Calls and C++ in a Multithreading Environment
- Developed the Interactive Voice Monitor in C++ Windows 2000 Environment to monitor the network request, response, and statistics and update SQL database. Used MQ API for Certegy client.
Confidential, New York
- Interaction with business analysts and clients for the Authorization User Project. This included specification review, technical analysis, and functional specification design decisions.
- Coded Auth Use Module in Solaris environment using C++. Wrote Make Scripts using Nmake utility.
- Extensive QA interaction for bug fixes, Lead a Team of 6.