RESUME Lenny Primak Tel: (917) 805-8732 firstname.lastname@example.org OBJECTIVE: To find a position that utilizes my object oriented architecture, leadership, design and development skills to create software that fully benefits the user and is reusable and maintainable SUMMARY Strong C/C++, Java, Architecture/Object Oriented Design, UML, XML, CORBA, SOAP, Assembly, UNIX & Kernel Programming, Internet Tools, MS-Windows, Object Oriented Design, Development, Financial Vertical Specialty, Fixed Income, Equities, FIX Protocol, Documentation and team-based project support specializing in real-time, multi-threaded highly scaleable back-end software, components, APIs, Design Pattern application and mining, software refactoring for re-use and performance improvement, framework and programming tool application and development. Design and development of components and applications that easily integrate with existing frameworks and interoperate with GUIs, Databases and Networks transparently and are documented using tools such as the Unified Modeling Language. SOFTWARE Unix/Linux, Windows, MacOS X, SUN. HP-UX, C/C++, STL, Java, CORBA, MS Visual C++.NET, SunSoft C++, Rogue Wave SourcePro, DBTools.h++, MS SQL Server, Oracle, Sybase, Internet Tools (in-depth, kernel level TCP/IP, WWW, HTTP, XML/SOAP, HTML, RPC/NFS), XRT and INT widgets, SQL, Object Pascal, Intel, Sparc Assembly, LISP. EXPERIENCE 5/2007-5/2008 Senior Trading Systems Consultant, J.P. Morgan Chase. Designed and developed dynamic calculation engine for the fixed income trading, pricing and risk management system. The system, which is analogous to a spreadsheet, was used to dynamically, at runtime, configure calculations and automate reports. The flexibility was such that the users could enter formulas that referenced other cells by name, which was a powerful feature unavailable to other systems. It was written in Java. 6/2007-9/2008 ExpressJet Airlines, Inc – Continental Express – Pilot. Aircraft Flown: Embraer-145 50-Seat Regional Jet. 8/2005-4/2007 Senior Trading Systems Consultant, Deutsche Bank, AG. (DB) Architected, designed and lead the development of the fixed income trading, pricing and risk management system. The system was originally written in C++ and C#, it was a monolithic application. Working with the traders on the requirements, the system was modularized into a Service-Oriented Architecture components using a mix of Java, C#, C++ and grid computing. The modularized architecture could now be used from multiple applications, including desktop applications, spreadsheets and web applications, enabling DB to export the system to branch offices, sales offices and even some clients. The system was also designed to feed multiple other systems, including portfolio management, pricing and hedging. It is fully multithreaded, high-performance and utilizes grid computing. 9/2003-8/2005 Senior Trading Systems Consultant, Adirondack Electronic Markets, Inc (AEM). Designed, lead the development and maintenance of equity and index options market making system. The system was an automated market making system for the International Securities Exchange. Analyzed the AEM trading strategy, and together with the traders continually enhanced the trading system with new strategy nuances and features. The system was written with C++ and runs on the Sun platform. The system integrates with the risk management system and uses risk models as inputs to the trading model, and dynamically adjusts the trading model according to the risk model as well as other market conditions. The system is fully real-time, multi-threaded, multi-tier and scalable. 11/99-2/2002 President & Chief Technology Officer, WARP Solutions, Inc. Hands on management of a development team of 40 people, including development teams in the USA, Russia and India. Invented, Designed & Developed the Patented WARP Load Balancer application, including real-time Kernel-level, TCP/IP driver needed to intercept TCP requests and redirect them to the least loaded server. The kernel driver is multi-threaded, common-code multi-platform driver that runs on Windows, Linux, Solaris, BSD Unix, MacOS X and Compaq Tru64. The WARP Load Balancer is the only load balancer in the industry that is completely peer-to-peer, where the load balancing decisions are distributed to all load balanced nodes, with no central load balancer device, allowing unparalleled scalability. WARP Load Balancer is written using C++. Designed & Architected the WARP Content Distributor, which has the ability to atomically distribute content to a server cluster, and communicate with the WARP Load Balancer in real- time to atomically "switch over" to the new content. WARP Content Distributor is written in C++. Invented & Architected the Distributed Database Transaction Clusters, similar in features to the Oracle Real Application Clusters, but using a different approach that drops the requirement for Database Vendor Support. DDTC engine will monitor update requests to the database, and will "stick" subsequent query requests for the updated data to the just-been- updated server, the one with the freshest content, until the master-to-master replication (which is also monitored) synchronizes the data with more servers. The Engine will gradually "open the funnel" as it watches the replication take place, thus increasing that particular request's capacity. Dynamic Cache Accelerator - WARP's current main product, is a dynamic cache appliance, which caches dynamic requests (such as ASP, JSP, PHP) in a consistent way so that updates to underlying database or user requests that update the data will flush the cache properly and automatically, giving the users only fresh content. Dynamic Cache Accelerator increases application server-based performance by up to 40x. Dynamic Cache Accelerator is written in C++ and CORBA. 11/98-11/99 Sr. Architecture Consultant, Bear Stearns, Strike Electronics Communications Network. Worked on the back-end to Strike ECN (Electronic Communications Network) using C++, STL, CORBA, and the FIX Protocol. The Strike back-end has to process all trade, market quote and order book information in real-time from over 1,000 users. Because of this, the Back-end was highly scalable, distributed and multi-threaded. One of the challenges of this project was to be able to reliably store all trades into the Database in real-time, and to design the database that supported the I/O load that was put on it. This involved Object-Relational mapping, caching, fine-grained locking and performance optimization. Also worked on the Strike Web Front-end. One of the unique features of the Strike ECN Web front-end is it's ability to display real-time information through corporate firewalls, which was accomplished by creating HTTP response tunnel for the real-time data. 1/98-10/98 Sr. Architecture Consultant, SIAC Designed the NYCE and AMEX trading floor automation tools. Designed and participated in development of user management tool. The tool creates and maintains trading floor users, controls access to applications, informs users of application availability, manages user preferences and keeps track of over 4000 users, workstations, printers and other devices. The tool is written in C++ using Sybase as a back end relational database. Web based maintenance tools were also developed using HTML and Java for simple tasks and reports. 1/97-1/98 Senior Software Architect, NatWest Markets Designed and developed systems for the equity derivatives trading desk. Worked on interfaces and integration with the equity and equity options trading system, including getting stock indicative data, corporate actions, dividends, volatility curves and trade/position reconciliation. Worked on an execution system using the FIX Protocol, Java and Javelin Coppelia product. Provided the Stock Loan feed from the Trading System, including working on the Stock Loan application. Integrated the execution system with the rest of the NatWest Market equity derivatives trading system. Ported a trade/position reconciliation application from MS-Windows NT/MS-Access to UNIX C++, and Oracle back end while achieving 400% performance improvement. The porting process included factoring out the program functionality in the business domain from the NT interface and MS-Access functionality, writing the Oracle asynchronous access layer and integrating all components into the application. SQL, Oracle Client API and in-house asynchronous extensions along with Rogue Wave DBTools.h++ and DBFactory was used to create the relational database access layer for use with the application. 2/96-1/97 Sr. Architecture Consultant, Merrill Lynch & Co., Inc. Designed and participated in implementation and enhancement of the securities pricing system. The system consists of a front and a back end programs. The back end servers actually retrieve the information from the databases, format it according to user's specifications, which are stored in the database, do the appropriate calculations as needed, and deliver the data to the front end application to be viewed by the users. Major accomplishments include design and development of the Generic Data Server, which is a framework that lets clients easily access any kind of data that is stored in the databases and present it in any format. Generic Data Server works as a fully multi-threaded, real-time application so all requests are process concurrently, with the intermediate results cached to improve performance. It also does real- time Object-Relational Mapping in order to format the data dynamically according to users’ specifications, that are stored in the Database. Front end is a suite of applications written in C, C++, and WWW/Java that display information about securities requested by the users. They are only responsible for the display of information, and are designed to be as light as possible, just having enough functionality to make a request to the back-end servers and process information received from the back-end server. 9/93-2/96 Sr. Systems Analyst, Credit Suisse First Boston Design, development and maintenance of various major financial applications and programmer's tools. Applications include analytics and pricing programs for CMOs, MBSs, and Government blotter system using C++ and Sybase. Major accomplishments include optimization, parallelization and speed-up of cashflow calculations. As part of this project, the cashflow calculator was refactored into a set of distributed, scalable multi-threaded components. Programmer's tools include: Analytic Engine Framework, a tool that lets applications use real-time, client/server distributed financial analytics services on multiple machines simultaneously. Analytic Engine allows totally dynamic data structure passing, thus allowing the analytic API and data structures to change without re-compiling the application. Analytic Engine also provides for optimized, dynamic Object-Relational mapping, hiding the details of O/R from the applications. Communications Library, which allows easy event-driven TCP/IP communications in C++ using object-oriented techniques and member function callbacks. Motif and UIL language C++ class library, integrated with various GUI builders. This wrapper's main feature allows quick and easy integration of true (non-static) C++ member function callbacks that are used from the GUI builder, allowing for true GUI object oriented programming. 4/89-9/93 Systems Analyst, Nynex Corporation Participated in re-design and implementation of a distributed, client-server network management package. This package, Allink Operations Coordinator, uses artificial intelligence to control the LANs and WANs and reports possible problems with them. The package runs on both SCO Open Desktop and Sun SparcStations. The network data is stored on an Ingres database server, and using various IPC techniques (TCP/IP, RPCs, shared memory and semaphores) the program dynamically informs all network monitoring stations on what has changed with the network or whether there was an outage. The program was originally written in C and Xlib. My participation was in moving it to OSF/Motif using C++ and to simplify the database design to increase speed and robustness of the product. Responsibilities included design, development, testing, etc. PATENTS - Patent Number 6,389,448 - Load Balancing without a Dedicated Server - Patent Number 6,598,077 – Dynamic Content Routing - Patent Number 7,443,311 – Computer Security Chair Device PATTERNS Member, Design Patterns Study Group, NYC - Singleton Revisited - Reverse Destruction Order in C++ - Finite State Machine - Transition Machine - 64-bit safe Asynchronous Completion Token - Asynchronous Database Access Patterns PAPERS - Thread-sharing, Chunked I/O for Massive Scalability (upcoming) - Polymorphic, Active-object-aware Smart Pointers in C++ (upcoming) - Designing Object Oriented Software for the User - a guide to creating reusable event driven concurrent software architecture, 1998 - Reusable Event Driven Framework and Infrastructure Development for GUI and Networking in C++, 1997 - Developing Semi-Synchronous GUI Operations, 1997 Other Projects - Dynamic Directory - Complete peer-to-peer self-contained directory - Distributed Locking Infrastructure - Auto Negotiation Infrastructure - Negotiate anything in real-time - Reliable Multicast infrastructure capable of pumping 40 Megabits per second (10 client scenario) on a 100Mbps network in C++ Works in Progress - The complete guide to method callbacks in C++. HOBBIES Airplane & Helicopter Pilot (Jet/Airline Transport Pilot/Multi/Instrument Rating), Art Collector. REFERENCES Furnished upon request.