Programmer Analyst Resume
St Louis, MO
SUMMARY
- C/C++ Developer with 8+ years experience in software development, deeply involved in all aspects of the SDLC, as well as systems integration and production support.
- Expert - level knowledge and experience of C++ and C.
- Extensive knowledge of reusable object-oriented software analysis, design and programming and UML.
- Strong practical and theoretical understanding of Design Patterns and Extreme Programming methodology.
- Extensive experience with providing production support: Levels 1, 2 and 3.
- Excellent experience and understanding of multi-threaded programming and synchronization, code optimization and performance improvement in C/C++ on Windows/UNIX/Linux.
- Substantial knowledge and experience with low level object-oriented database design and programming.
- Strong knowledge and experience of data feeds from CME (FIX/FAST L2), TSX L2, NYSE ARCA, etc. and development of low-latency high performance market data feed handlers for trading.
- Solid experience with IP protocol stack, TCP, UDP/Multicast socket programming.
- Solid experience with STL and market data including ARCA, CME, OPRA, TSX, etc.
- Proficient in N-tier, Client/Server, C#.Net, Win Forms, Visual Studio 6/7, Oracle and SQL Server.
- Extensive knowledge of diverse operation systems, UNIX( AIX, Solaris), Linux and Windows.
- Practical knowledge of FIX and STAMP trade processing protocols Market Data (quote/trade) protocols.
- Strong leadership and problem solving strengths with conceptual thinking and analytical approach.
TECHNICAL SKILLS
Programming: C/C++, STL, C#.Net, Visual Studio 2003/2005, Pro*C, Win Forms, multi-threading, synchronization, client/server, sockets
Operating Systems: UNIX (Solaris, AIX), Linux, Windows NT/XP/2000
DBs: SQL, stored procedures, Oracle (8i,9i), SQL Server
Tools: VC++ 6/7, kdevelop, TIBCO, Eclipse, Toad, Rational Rose, SVN, Clearcase
Servers: Windows Server 2003, Apache, Tomcat
Communication: TCP/IP, UDP, IPC, FIX, FTP, SOAP, HTTP.
Software Engineering: Design Patterns, Agile methods, UML, Testing (unit, integration, soak, load), Reuse, Configuration Management, OOA&D, SEI-CMM L5 Processes
Business Knowledge: Market Data Feeds CME FIX/FAST L2, NYSE ARCA, TSX L2
PROFESSIONAL EXPERIENCE
Confidential, St. Louis, MO
Programmer Analyst
Responsibilities:
- Built feed handler for 15 channels of CME FIX & FAST protocol Level 2 feed: channels 7 through 14, 31, 32, 111, 113, 115, 118, and 120. Each channel had unique characteristics, necessitating utilization of existing CME documentation, and extensive trial and error testing for each build.
- Implemented a parser for the FIX protocol to convert decoded exchange messages to internal Confidential structures and data types to ultimately populate the outgoing messages.
- Developed, certified and maintained CME Globex order and price books based on Fix 4.2, which comprised multiple modules like the FIX Engine, Book Calculations, customized Data structure(list/tree) library in C/C++, C#.Net, multi-threading, sockets and Oracle 9i for trading.
- Developed and tested the NYSE ARCA Complex options, OPRA and TSX L2 market data feed handlers.
- Tested the messages and the regular and implied price books, and ensured they were correct, including: data, system, and soak testing, debugging, QA support, deployment and post-deployment support.
- Utilized valgrind, gdb and in-house tools to maximally optimize memory usage and performance, for effective handling of high data volume from the different market feeds running on a single Ticker Plant. Did extensive performance testing, code optimization, tried various feed handler deployment configuration to minimize latency and maximize performance.
- Production support on different feed handlers: Level 1 on CME FIX/FAST L2 feed handler; Level 2 support on TSX L2, CTS and other feed handlers used by high-frequency algorithmic traders.
- Implemented persistent in-memory security ID-security definition maps using struct arrays and stl::map and also stored them in back-up files for feed recovery.
- Developed the cascaded feed handler to allow fanning out of feeds to allow multiple downstream clients. Used UDP and TCP/IP to develop this feed handler.
- Refactored and debugged the TSX L2 feed handler including the STAMP parser, and took it through the QA phase.
- Added MOC imbalance message processing functions to CTS, NYSEALERTS, and other feed handlers, and implemented a price/price format calculation function common to all channels.
- Added ticker plant monitoring support and Oracle 8i interface to Zenoss.
Confidential, St. Louis, MO
Programmer Analyst
Responsibilities:
- Participated in all aspects of the software development life cycle from inception to completion, including initial design and architecture meetings. Used Object Oriented Analysis and Design for product design to design and build the low latency market data feed handler library to enable development of lower latency, higher throughput feed handlers.
- Implemented the FIX protocol parser to enable parsing of FIX messages streamed from various exchanges. Also integrated an in-house FAST protocol decoder with the FIX parser to enable handling of FIX/FAST encoded feeds.
- Participated in development of the NYSE feed handler on this platform as the verification handler for the new low latency market data feed handler library. Interfaced the library with TIBCO.
- Built Arbitration Handlers (Sequence, Hash, and Time) for the parallel input feeds received from the exchange and the UDP and TCP/IP-Input Handler for exchanges that provide UDP/TCP feeds.
- Improved system performance of the feed handler end-to-end and the feed handler library during development and QA.
- Provided Production Support on the feed handler library (Level 1) for NYSE feed handler used by high-frequency algorithmic traders.
- Used C#.Net for the GUI for the config and control modules.
- Served as Project Coordinator for four months: ensured project components were completed accurately and on schedule, participated in planning and status meetings, and reported to project manager.
- Assisted in development of a sample trading application to verify feeds developed on the feed handler platform. This included support for FIX and STAMP formatted messages.
- Assisted with unit/integration testing teams, configuration management, and documentation.
Confidential, Louisville, KY
Programmer Analyst
Responsibilities:
- Participated in requirements analysis, design, architecture, and review meetings for the business intelligence tool, Verisight.
- Developed a better memory management implementation using the PV-Wave UPVAR function to increase server module performance, and implemented lazy-loading on the server side to reduce application memory utilization and network load time.
- Converted modules in the product from Java and PV-Wave script to C/C++ to improve performance by using lower level threads and multiprocessing.
- Used Java, JSP, HTML, XML to develop the web based interface for the product.
- Used C++, C and Rougewave C++ SourcePro for all the performance critical modules.
- Used Pro*C, SQL and PL/SQL for writing stored procedures and scripts for DB connectivity.
- Coding and Unit testing for the application and performance monitoring.
- C/C++, UNIX (AIX), multi-threading, Pro*C, Java, JSP, SQL, PL/SQL, Oracle 8i, PV-Wave, UNIX shell scripting, CVS.
Confidential, Detroit, MI
Programmer
Responsibilities:
- Designed, developed, tested, deployed, and supported high-performance grid based bioinformatics tools. Efficiently processed very large, non-homogeneous data sets.
- Supported a team of seven researchers in porting existing and new code to a 32-node, dual-processor grid running on Rocks OS.
- C++, C, UNIX(Solaris), SQL, Oracle 9i, MPI, Open MP, LAPACK, SCALAPACK, XML, Shell Scripting.
Confidential, Rancho Cucamonga, CA
Software Engineer
Responsibilities:
- Developed a HIPAA-compliant handheld device-based electronic prescribing product for doctors that was secured with DES encryption, and designed to be deployable in three different configurations.
- Performed requirements analysis, and UML design on Rational Rose. Developed all diagrams for use cases, sequences, components, classes, deployments, and activities.
- Designed, refactored and programmed multiple low-level function libraries in RTL and Win32 API:
- Database data storage library to implement data storage functionalities for run-time memory and disk permanent database, using hash, index and extendable hash algorithm with Visual C++6.
- Thread object library for dynamic threads allocation, synchronization and scheduling by using object/visitor pattern and message queue (monitor of ring buffer) mechanism.
- Communication and Parser library for handling the HL7 protocol via TCP, UDP/Multicast, disk files using WinSocket.
- Developed the desktop version of the product using Win Forms, C#.Net, ADO.Net, WinSocket, SQL, PHP, and ASP.Net.
- Involved in unit, integration, regression and system testing along with negative testing after fixing the bugs.
- Feature enhancement and bug fixing in C#.Net, C++, C, LDAP, ASP.Net, ADO.Net, Windows Server 2000, Linux and Oracle 9i.
- Visual Source Safe 8.0 was used for version controlling and source code protection.
- Resolved the Customer Escalations, SPAR fixing (Software Problem Action Request) from customers of the product
Environment: C/C++, C#.Net, Linux, Windows 2000/NT, SQL, PHP, LDAP, HL7, Oracle 9i, Win Forms, ASP.NET, ADO.Net, UML, SVN, XML, Shell Scripting.
Confidential
Programmer / Team Leader
Responsibilities:
- Understood the business requirement and helped design individual modules.
- Developed the communication module in C++ on the Linux environment.
- Involved in Integration of code and documentation
- Deploying the final product to client’s machines.
- Resolved all system authentication, synchronization, rescheduling, and encryption issues.
- Involved in unit testing, alpha testing and integration testing.
- Created web pages for the online application using ASP and used PHP for scripting.
- Database connectivity using ODBC and SQL Server 2000.
- Lead a development team of 3 for the last 6 months with Applitech.
- Implemented C, C++, and Linux-based data communication system for ISRO’s satellite based rural information system.
- Performed unit, integration, alpha, and soak testing of the system.
- Wrote technical documentation and analyzed requirements.
- Wrote scores of SQL queries and stored procedures for Oracle 9i to maintain the data in the central database and used LDAP for an authentication module.
Environment: C++, C, Linux, SQL, Oracle 8i, Windows, PHP, LDAP, ADO.Net, SQL Server 2000, ASP.Net, Rational Rose, VSS, CMM L5 processes.