Ambarish Krishnamurthy
SUMMARY: -
Over FOURTEEN years of experience in Requirements, Analysis, Design, Development
and Testing of Communication and Real time process control software, MarketData,
Reuters SecurityMaster, Fixed income, Equities and Banking.
Strengths: -
Design, Development, Simulation Testing of Various Market Data Drivers
like ARCA, INET, SIAC in an online trading environment.
Complete Development in C++ for taking SecurityMaster data from Reuters
Datascope for Equities, Options, Indices, Futures.Includes Conversion from
Reuters SecurityMaster to Mantara Format Tables. The development is doing using
SYBASE Open Client API.Curl FTP is used to get initialization, Maintanence
files.
Suffixes Design, Development of Conversion API to convert various
Venues, Feed Suffixes to native Mantara Suffixes and vice-versa.
Development in C++ to take Easy to Borrow, Hard to Borrow from various
Brokers. The formats are driven from Config database.
Design experience with Fixed Income Trade Execution and Communication
Channels including SWAPS, Derivatives, Online Bond Trading (Bids/Response).
Design, Development of Database Interface Engine Module in a Software
Life Cycle.
Real Time Interaction and Critical Bug Fixing with Traders, Customers,
Peer Members of the Team.
Development of Reports, Tools, offline and online Process for Bloomberg
Proprietary Systems including Database.
Code Review, Enhancing, Extending, Redesigning code written by other
Developers.
Tuxedo, Web Sphere MQ Middleware testing design and tuxedo system
programming knowledge.
Very strong background in C++, C language, SQL Stored Procedures,
Clearcase Management of Files, Visual SourceSafe.
Sound knowledge of UNIX AND WINDOWS InterProcess communication
(including message queues, shared memory, semaphores), Multithreading, Socket
interface for TCP/IP, shell script programming, UNIX utilities like sccs, cvs),
SQL interface (including join, select, update), Windows 2000 System programming
(including processes, threads system calls, Mutex, Critical Sections and Events
and VMS System Programming (Global Sections, Mailboxes, Events RMS, DEC BASIC).
SKILLS: -
Operating Systems:
Solaris 8.0, SUN OS 5.0, UNIXWARE 2.01, UNIX System V 5.43,
HP- UX, ALPHA Open VAX/VMS, VMS 5.5, NT 4.0, Windows 2000, MS-DOS
Languages: C++, C, VC++, Korn Shell Script
Software: Visual studio 9.0, Clearcase, SQL, Tuxedo 7.0, Tibco Rendezvous, Web
Sphere MQ, TCP/IP, X.25, DCL, UNIX IPCs, POSIX for Open VMS 7.2, Rogue Wave
Tools++ 7.0, SUN Workshop debugger, SourceSafe 6.0, Posix Threads Library, .NET,
SVN
DBMS: COMDB, Sybase 15.0, SQL Server
Hardware: Sun, HP 9000, VAX 7200, Alpha Processors, Digital UNIX machines
EXPERIENCE: -
Mantara (Advanced Trading Technology Solutions for MultiAsset MultiBroker high
speed trading) 01/08-PRESENT
Senior MarketData Software Developer (Full Time)
Development of SecurityMaster Handler to get, parse and update the
SecurityMaster database from Reuters Datascope.SecurityMaster updated for Equity,
Options and Futures Indices. Development has done using CURL FTP, Sybase Open
Client API in C++, Windows.
Design, Development of Easy to Borrow, Hard to Borrow handler for various
Brokers.
Unit Testing Test cases and Extensive Interaction with Quality Assurance
Modified, Enhanced Code written by other developers in Messaging Library.
Environment: C++, WINDOWS 2000, WIN64 APIs, Sybase 15.0, SVN, Visual Studio 9.0
Hold Brothers (Day Trading Company) 11/06-01/08
Senior MarketData Software Developer (Full Time)
Responsibilities: -
Design of Market Data stream Driver for ARCA, INET, SIACDRIVER,
BOOKSERVER, QUOTESERVER. Existing design is rewritten to make it faster in
performance, more efficient in handling messages, reduce CPU usage. Development
is done in C++ using WIN32 APIs including TCP/IP, SHARED MEMORY, MUTEX, SEMAPHORE
and CRITICAL SECTION, MULTICAST SOCKET. Some MFC Classes are also involved. GUI
Development is involved.
Environment: C++, WINDOWS 2000, WIN32 APIs, MFC, Visual Source Safe, .NET
Deutsche Bank
04/06-11/06
Consultant
Senior Software Developer
Responsibilities: -
Code Development, Enhancement and modification of FTP DAEMON
Server Process. This includes writing appserv code using Multithreading, TCP/IP
Sockets, interface with ORACLE OCCI Library, PL/SQL Stored Procedures
Environment: C++, C, Sun Solaris UNIX, ORACLE 9.2.0.7, Toad for Oracle
Bloomberg LP 4/03-03/06
Senior Software Developer (Full Time)
Bloomberg LP Sells Bloomberg Terminals, Software for Trading Systems, Fixed
Income, Equites, Auto Execution of Trades, News, Media, Magazine etc
Responsibilities: -
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++, COMDB.
Developed Various Tools, Interface APIS, Offline Process, Shell Script
to automate, DB updates, Swap Reports, Shared Memory update, Upload Swaps,
Trading System Interface etc.
Critical Bug Fixing of Various DRQS Arising Daily. This is done in real
time while customers are on the phone. Swap Transfer utility, Swap API utility to
send the data to various other processes using Bloomberg Internal API.
Bids Wanted Response Software Design, development, testing on
Production Machine and Implementation.
Environment: C++, C, Sun Solaris UNIX Multithreading, Gui Development
Compunnel Consulting Group Clients:-
Municipal Credit Union 8/02-4/03
Developer
Interactive Voice Response Project
MCU Deals with Credit Card Services for its Institution Member. IVR provides the
facility for the Member to perform Account operation.
Responsibilities: -
Designed and developed a generic TCP/IP library in C++/VMS.
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.
Certegy Project
Responsibilities: -
Web Sphere MQ Configuration of channels, queues, Queue Managers in
Solaris
Web Sphere MQ Programming using MQ API for putting message to the Queue
And getting message from the Queue.
Environment: C++, C, UNIX, Web Sphere MQ, VB.NET, POSIX Threads
JP Morgan Chase, New York 1/02-8/02
Developer
SINAPS - Retail Banking Application
SINAPS is a system addresses Checking, IRA, CD, PFS accounts (personal finance
for high net worth individuals) and ATM Cards. The Project is focused on
providing authorization capabilities for business ATM Cards.
Responsibilities: -
Interaction with business analysts and clients for the Authorization
User Project. This included specification review, technical analysis, and
functional specification design discussion.
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 4.
Tested Auth User Module.
Environment: C++, C, Solaris 7.0, Sybase 11.0
Trade Web, NY 1/01 - 1/02
Developer
STP (post trade breakdown feed)
Responsibilities: -
Design of the Breakdown Screen and handling all sub account allocation
mechanisms using Trade Web Viewer and Page Server in C++.
Involved in Project Life Cycle.
Database Support for Multiple Global/Dealer Identifiers (for each sub
account). Used Rogue Wave Libraries for database interaction. Design of the
database logical requirements for the ODB server and defining the interface
between Page server and Twodbserver. Used TCP/IP Sockets to move data between
Page Server and Trade web Viewer.
Extensively used Rogue wave and DBTOOLS++ libraries to manipulate
Messages.
Performance Tuning of sub accounts page retrieval. Enhanced sub
account page to be able to retrieve multiple global and dealer acronyms according
to industry standards in C++.
Stored procedures for account retrieval, update and global update/add
using PL/SQL.
Updated batch jobs for dealer mapping status of dealer Ids. Debugged
code, which used STP for sending trades to dealers/customers.
Environment: C++, SQL Server 7.0, UNIX, FIX Protocol, Rogue Wave Tools++,
DbTools++ Libraries, UNIX TCP/IP Sockets. Windows threads
Goldman Sachs, NY 7/99-1/01
Fixed Income
Responsibilities:
Communication driver design in C++ to take the data in real time using
terminal I/O and TCP/IP. The driver handles data from multiple vendors like
Dalcomp, Espeed, and Nasdaq Data Feed. The communication driver validates market
data feed and extracts trade information and dumps it to a local message queue.
Used POSIX threads system calls
Design and development of queuing interfaces to store the messages
using C++.
In-depth knowledge of Municipal Bond Trading, Equity Trade Dispatcher
and Trade Listener Interface. Used Sybase DB Library for trade persistence and
C++.
Position Service Broker enhancements and bug fixing using Rendezvous
callback mechanisms using Solaris 2.7 and C++ (through pub/sub mechanism).
Provided support for front end Trade Entry Systems scripts and reports.
Handled day-to-day problems of traders both in operational and
debugging of various modules in real time.
Web Reports development for Espeed/Broker Tec, Product Reconciliation
using Perl and P&L reports.
Involved in bug fixing of P&L report using SQL. Wrote batch jobs using
Sybase stored procedures and UNIX Korn, C Shell Scripts. Used SCCS and CVS for
source code maintenance.
Environment: C++, C, Tibco Rendezvous 5.0, SCCS, CVS, Solaris 2.7, Solaris 2.8,
Sybase 11.0, Rogue wave Tools++, DbTools++, Perl 5.0, C Shell Scripts , POSIX
Threads
BEA SYSTEMS INC. NJ 7/97 - 7/99
Tuxedo
Responsibilities: -
Event and Queue feature programming for test development of Tuxedo
(Perl /C++).
Domain transaction programming to test the feature of the Tuxedo in
Domain mode. This involved writing test suites in UNIX korn shell scripts to
generate the configuration and boot Tuxedo.
Wrote CORBA Event Services, Transaction and Concurrency Services to
test BEA Iceberg Product. This consists of preparing IDL Files to define
Services, testing Interoperability.
Development of various GNU makes files and utilities in Solaris UNIX
for Monitoring the Domain transactions. Testing Iceberg Product by writing
Clients using Perl Script. Development of the tfslave process in C++, which
involved signaling mechanisms, all forms of IPCs in UNIX, Sockets (TCP/IP) and
file transfer APIs. Porting of the tfslave process from UNIX to Alpha VMS in C++.
The porting included Process subsystem (Sockets, Queues, and Shared Memory), file
subsystem and all signal mechanisms. The tfslave process is a generic module to
drive Tuxedo Porting of the Application to Transaction Monitoring interface from
Solaris to Alpha OpenVMS Using C++.
Environment: - Orbix 2.0, Orbix 3.0, Solaris 5.0, AIX 4.0, HP-UX, Tuxedo 7.0,
Tuxedo 7.0, BEA Message Q, VAX/VMS with extensive use of C/ C++, Perl Script,
Korn Shell
CMC Limited 1/96- 7/97
ONLINE TRADING
Responsibilities:
Analysis, design, development of Communication Messaging Server for
establishing all point to point to connection between the front end and the
backend and consisted of communication client on the front end and communication
server on the backend (TCP/IP).
Development of UNIX based utilities for updating shared memory,
assigning IP address to each broker workstation automatically checking for
message Q status checking status of all servers, connected clients definition.
Developed End of Day reports using Perl 2.0 Script and Sybase 10.0 Stored
Procedure.
Environment: HP 9000/H-X, DEC ALPHA, PCAs and development was in C++ language,
Sybase 10.0, Perl 2.0
Indian Meteorological Departments, India 1/95 - 1/96
Automatic Message Switching System
Responsibilities:
Development of Scheduler module for scheduling the messages based on
Priority in the VAX GLOBAL SECTION (FIFO queue) using C. Developed Q manager for
providing alternated, diversion, routing, purging for end-users in C.
Developed various utilities like displaying MAILBOXES entries, checking
global sections, libraries for mailbox read, write, delete, global section
create, delete, channel status checking, lock libraries. Responsible for X.25
transport Entity Process for dealing with VAX PSI software and processing the
application data.
Developed system-monitoring process using decnet non-transparent
communication software for switching to HOTSTANDBY processor.
Environment: VAX/VMS programming exclusively in C language.
EDUCATION: -
UNIVERSITY OF MADRAS, INDIA 1995,
Bachelor Degree in Computer Science and Engineering
|