Suresh - Software Engineer |
[email protected] |
Location: Aurora, Illinois, USA |
Relocation: |
Visa: H1B |
Suresh G
SUMMARY Senior systems and applications developer with 14+ years of experience in all aspects of SDLC Hands on experience on high volume distributed systems with large and complex functionality Record of improving, proposing and implementing architectural components Self-driven, adaptive and open minded learner and researcher TOOLING EXPERIENCE Core C, C++, Python, Core Java, Linux, SQL, Perl C/C++ libraries STL, Boost, Asio, gtest, GRPC, protobuf, Qt, quickfix, tbb, POCO, ACE, RogueWave Linux bash, GNU toolchain, gdb, glibc, system call API, Sockets, IPC, pthread Databases T-SQL, PL/SQL, SQL Server, Sybase ASE/IQ, Oracle, Redis, MongoDB, sqlite, kdb Networking TCP, UDP, Multicast, HTTP, Solace, ZeroMQ, ZeroC ICE, TIBCO Python tools Flask, Pandas, numpy, Jupyter, pdb Build tools cmake, make, qmake, maven VCS git, Clearcase Misc Languages C#, Javascript Misc Tools valgrind, coverity, wireshark, clang toolchain, Purify, ksh Misc Standards FIX, XML, XPath Web React, Redux, Node, Express, Blueprint, ag-grid, HTML, CSS, nginx Cloud Docker, AWS S3, AWS Batch Experience:- Fidelity Investments Mar 2022 Present Software Engineer (Contract) Major contributions (C, C++11, Java, Python, Linux, kdb, bash): Hands on technical lead role delivering major initiatives; allocating, overseeing the technical work of other developers in the team; design of major work Development of new trading gateways and market data providers Development of new features to OMS, Crossing and Smart Routing Refactoring legacy code and runtime infrastructure 100% contribution to new Python based performance measurement and reporting framework to track metrics of various events, components and flows encompassing the whole trading system Consolidated Trading LLC, Chicago Apr 2019 Jan 2022 Senior Software Engineer, Core Trading Systems Designed and implemented core trading system projects affecting critical business functionality. Low latency options trading (C, C++11, Linux, Python, SQL) Ownership of CBOE and CME low latency core options trading system supporting orders, quotes, auctions - market data feed handlers, order/quote gateways, integrations to downstream components 100% contribution to (New) CBOE multicast depth of book options market data (PITCH) feed Single stream from both simple and complex feeds; arbitrated feeds Configurable features and tunable performance parameters 40% contribution to (New) CBOE options exchange (BOE) gateway 90% contribution to integrations to downstream components (backoffice, trader GUIs, algorithms) 90% contribution to all other features, bug fixes, refactoring, optimization, build improvements, testing and level 2 support Low latency futures trading (C, C++14, Qt, Java, Linux, Python, SQL, grpc, protobuf) Inherited ownership of market viewer GUIs (C++ Qt based, Java Swing) used by futures traders 100% contribution to (New) depth of book service supporting market viewers 100% contribution to (New) semi-automated end to end testing framework 100% contribution to reduction of memory, network traffic for GUI running on traders machines permitting smoother viewing without data loss 50% contribution to all other GUI features, bug fixes, refactoring 100% contribution to optimization, build improvements, testing and level 2 support (New) Server architecture for GUI clients 100% contribution to design of (New) GRPC based architecture suitable for GUI client use cases 100% contribution to (New) library components to promote development of orthogonal services with cleaner interfaces 100% contribution to (New) market metrics service Support computing and publishing of financial metrics (eg trade imbalance) 100% contribution to (New) instrument service 100% contribution to (New) end to end, inter-component, component, and unit testing Balyasny Asset Management, Chicago Feb 2016 Jan 2019 Software Engineer, Front Office IT, Macro IT, PortFin IT Designed and implemented a wide array of projects spanning both systems and applications in three functional domains as the company grew by assets under management and employee count. Partial list of design and implementation accomplishments with major (80% - 100%) contribution: Front Office IT 100% contribution in architecting, implementing and deploying firm wide market data publisher architecture that has zero downtime and zero bugs reported Generic architecture allowing multiple publishers (vendor and derived feeds) operating simultaneously in the same system using ZeroMQ and Solace middleware C++14 Linux based market data publishers for BPIPE and firm derived feed. C++14 Linux, C# Windows client libraries to subscribe vendor or derived feeds Python based reference data infrastructure system integrated to various databases (SQL, T-SQL) for the market data domain Architectural mechanisms for enhancing maintainability, availability, fault tolerance, scalability, disaster recovery, ease of operations and testability Primary architect and builder of the technology stack for the new Linux C++ platform from ground up. This includes choice of OS, libraries, message bus, cache, protocols, platform and coding conventions Contributions to low latency trading team in NYC including May street market data and Solace I/O C/C++14 adaptors to the async single threaded framework, Python scripts for end to end testing, administrative tasks and utilities Macro IT 100% contribution in designing and implementing an innovative, fully automated, end to end testing framework for macro pricing servers Test specification file written as a Python module supports customization points. Is used by the test runner to generate or consume any input data or configurations, run all the backend servers and compare their output. Error/exceptional conditions during the test run are handled Support for executing golden copy vs code type run as well as code1 vs code2 type run Quant developers able to make changes to various parts of the system (pricing algorithms, data, algorithm configuration etc) and compare the outputs in a fully automated manner Major refactoring of C++14 architectural components to make them testable (SQL, T-SQL, sqlite) Implemented servers (C++14, Java, Python, SQL, T-SQL) to provide new data streams for pricing algorithms PortFin IT 100% contribution in design and implementation of two new UI stacks (frontend and backend) Javascript (ES6+), React based UI with tabbed grids varying from read only grids to editable grids with type safe column editing etc. Generic grid spec generates grid at runtime A load balanced backend server architecture with Nginx, Node, Express on Docker containers Python and Flask based servers and jobs to transport data to and from Redis caches 100% contribution of a new dynamic portfolio finance optimization component with Python, pandas, SQL, T-SQL which monitors data sources and detects optimization opportunities 80% contribution in updating the static portfolio finance optimizer to take margin parameters using Python, Mosek, pandas. Support historical back testing with Python boto3 for AWS S3 and AWS Batch Citadel Investment Group/Citadel LLC, Chicago Apr 2008 May 2015 Software Developer, Execution Services Core designer, developer and maintainer on order and execution management system (OEMS) servers supporting automated and manual trading. Used by most execution desks, financial engineers, portfolio managers, and analysts across Citadel. Environment: C, C++, Linux, Python, Perl, SQL, T-SQL, STL, Boost, FIX, Clearcase, Sybase ASE/IQ, TIBCO, sqlite Exclusive contribution or ownership of the following components (including new features, bug fixes, code ownership, release management and operational responsibilities): Order, Execution, Workflow management servers, Client/Interface(s) management servers, Query servers, IOI servers, FIX interface servers, End of day processing of orders/executions/workflows Database (intraday and historical) for order/execution/workflow data. Real time event bus for various types of event messages Reference data query servers and Availability servers. Reference data loaders Live and batch monitoring and reporting scripts Partial list of design and implementation accomplishments with major (80% - 100%) contribution: Enhancement of nonfunctional attributes of the system (Performance, Reliability, Availability etc) Reduced memory footprint of core OEMS by 50%. Reduced I/O in core OEMS by 40% for fills Improved throughput and latency of important operations on the platform by 1000% Separation of internal vs external (market) event processing in the core OEMS allowing internal event processing to be independent of market volume/behavior Incremental refactoring of the legacy OEMS state model to make fine-grained states explicit in the system. Incremental refactoring of the messaging model Researched various disaster recovery scenarios and implemented component based recovery Optimization of OEMS for high activity clients like execution algorithms and trader assistant programs Reduced operational risk with live monitoring, pre-release benchmarking of throughput and latency with volume stress testing, automated testing of several modules Design, implementation of major functionality Generic vector order interfaces with basket trading support, workflows for vector order handling between portfolio managers and execution traders including pre-trade compliance checks Integration of new order and routing flows with diverse use cases- execution algorithms, trader assistant programs, GUI clients, internal and external FIX clients New reference data server and availability server Addition of arbitrary order, execution data attributes to the platform, without requiring binary releases OEMS architecture Analyzed and documented use cases, architecture and drawbacks of existing OEMS Proposed, documented new OEMS architecture and implemented incremental evolutionary steps EDUCATION Bachelor of Technology in Computer Science, JNT University, India, May 2002 Keywords: cprogramm cplusplus csharp user interface sthree information technology procedural language quasar toolkit |