Resumes

Document Sample
Resumes Powered By Docstoc
					                                             RESUME

                                          Lenny Primak
                                         Tel: (917) 805-8732
                                       lenny@hope.nyc.ny.us



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.

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:78
posted:4/13/2010
language:English
pages:6