Andrew‎ > ‎

Resume

Objective

My objective is to continue to serve as application architect and project manager in an industry with a complex domain and strong need for creative solutions. While technology solutions are my passion, from application architecture at all layers down through the nuts and bolts, I have grown strong project delivery skills to enable my ambition.

Work Experience

JP Morgan Investment Bank Technology, Houston, Texas

Vice President of North American Exchange Connectivity Application Development, March 2004 to present

I joined the company full time after my experience as a consultant. I was commissioned as the technical architect for edge-integration of new electronic trading platform. I soon proved an adapter platform, enabling expansion into its own program for a market access abstraction layer. This program has succeeded despite the the changing strategies for the electronic trading platform that it was designed to support. The market access abstraction layer is also now the strategic market access platform for North American Equities systems, displacing the many legacy direct access points and tactical bridges. This platform is scheduled for global deployment this year.

Although offering several vertical services, the platform remains 95%+ reused components and has been successfully redployed for other messaging integration needs, including ACT/TRACE trade reporting and Mifids compliance.

In this role, I have worn several important hats. While I have always been the AD manager and application architect, I spread the rest of my time across a balance of core development, tactical development (scripts), iteration planning and tracking, production issue management, product evangelization, technical consultancy for other teams, administrative management, location hiring manager across several related programs, release facilitation, mentoring programs, design and delivery of training programs, etc.

The technical challenge of this adapter platform has proven interesting in both domain modeling and performance characteristics. The domain-heavy trading processes and peculiarities in the FIX protocol have also driven the design of novel normalization models that truly abstract exchange behaviors and allow electronic and algorithmic trading against a much simpler and more predictable source of liquidity.

The platform is capable of truly transactional recovery while sustaining 15,000 transactions per second per instance, with 99.5% of transactions processing in under 6 milliseconds. This is all possible using Java on commodity Linux hardware, not requiring a soft realtime platform built for network streaming (like Sun Solaris on Niagara hardware). The technologies used span those listed in the skill summary.

Valtech, Dallas, Texas

Senior Consultant, January 2001 to March 2004

While at Valtech, I performed analysis, design, development, test engineering, and configuration management roles for multiple projects spanning the Java technologies and system architectures of my skill summary. I have summarized the most interesting efforts below.

JP Morgan Chase

I served as technical architect and lead developer for a new event-driven algorithmic trading engine. The program has continued for three years after my initial bootstrap year, and the engine continues to scale with more business, users, and algorithms. Although initially commissioned to replace a desktop trading application, clean architecture has allowed it to scale from a two-tier trading application into a back-end servicing all trading UIs.

In the demanding technical role gained a broad experience in architecture and testing of performance characteristics as I tuned up capacity for event management with burst rates exceeding 100,000 events and messages per second per instance on commodity hardware. Of course, this is a Java system, and it used all of my skills in threading models and messaging middleware to pull together a sustainable platform.

Reuters Commodities and Energy

I served for a full development cycle from architecture through release on an industry hub for straight through processing of post-trade activities in the energy and commodities markets. The system integrates various technologies to provide a unified process for backoffice activities.

The core of the architecture is a message-driven data centralization process, providing data personalization for integrating companies. The facilitating technologies are web services, XML and W3C schema, XSLT, and XML binding, session and CMP entity EJB, JMS, and Tibco Rendezvous.

Enron CommodityLogic

I served as a technical lead for the development of three message-oriented systems, performing analysis, design, and implementation for end-to-end products. In production, these systems integrated to securely and reliably store and forward XML formatted position data from EnronOnline out to clients. I created a client with extensibility framework and API compatible with most integration technologies as a product for external customers, enabling delivery of these services to arbitrary mid-office systems.

I was also involved with extension and optimization of various EJB services offered by other more conventional J2EE web applications.

EnronOnline

I participated in the analysis, design, development, and testing strategy of three system projects, for two independent messaging systems. In production, the messaging systems performed routing and secure multicasting of price and deal data for use in real-time position reporting. I also worked with EnronOnline’s core trading web application, adding new trading use cases to the existing MVC presentation framework and EJB services.

Texas A&M University, College Station, Texas

Graduate Research Assistant for the Department of Computer Science, fall 1999 through fall 2000

This position provided me the opportunity to bring my engineering experience into a large project in scientific computing. Our target environments are any of the massively parallel, ensemble class machines of our national research labs. This position has allowed me to work on software system design issues with such machines, as well as with message passing (MPI, PVM), shared memory parallel libraries (OpenMP) and XML for data exchange.

Texas A&M University, College Station, Texas

Graduate Teaching Assistant for CPSC 462: Microcomputer Systems, summer 1999

This temporary position in my first official semester in graduate school (not concurrent with undergraduate curriculum) allowed me the opportunities to instruct a laboratory and supplemental lectures in the area of hardware design and integration. It also required me to develop much of the laboratory handbook and build hardware components for machine integration lab exercises.

MEMC Southwest, Sherman, Texas

Contractor, 1996 and 1997

MEMC Southwest was a joint venture of Texas Instruments and MEMC, whose primary product was a polished silicon wafer. Several short engagements while away from school afforded me great learning opportunities particularly in the following areas:

  • Development of employee database systems and other administrative Intranet applications for deployment in a new factory
  • Development of factory reporting and decision support applications
  • UNIX and Windows systems administration and support
  • Network design and deployment

Internet Texoma, Inc., Sherman, Texas

Phone Sales and Technical Support Representative, 1995

I performed sales and technical support roles for customers of this Internet service provider.

Education

Texas A&M University
M.S. in Computer Science, graduated in December 2000

Texas A&M University
B.S. in Computer Engineering, graduated in May, 1999, GPR 3.833, Magna Cum Laude with University Honors, Engineering Scholars Program

Skill Summary

  • Java Technology - Core Java (for most of classic Blueprint J2EE except for Web), J2EE (EJB 1.1/2.0 that nobody needs, Servlet/JSP, JMS, etc.), XML (00 binding with JiBX, JAXB, Castor, old school parsing with DOM, SAX, JDOM, faster parsing with Boyer-Moore), messaging (JMS, TIBCO, AMQ, direct application transport layer), Spring Framework (dependency injection)
  • Tools - BEA Weblogic Server, Tomcat/JBoss, Jetty, JBuilder, Visual J++, Togethersoft Control Center, TIBCO Rendezvous, Junit, EasyMock
  • Other software languages - ANSI C/C++ and STL, Visual Basic, Fortran 90/77, assembly languages (MIPS, Motorola 68K, IBM 370), query languages (SQL, Oracle PL/SQL), parallel libraries (MPI, PVM, OpenMP, TreadMarks)
  • Software/hardware design and integration experience with PLD ASICs (Xilinx FPGA, AMD PAL), microcontroller boards (Motorola MVME162), and off-the shelf components (ASICs, TTLs, ISA cards, other boards)
  • Methodologies - Unified Process, XP, OO A&D with UML and patterns, algorithmic time/space A&D
  • Networking - protocol level familiarity throughout IP stack and many popular IETF standard applications
  • Background - training primarily theoretical computer science and electrical engineering, with practical exposure to mechanical and nuclear engineering domains. Equities and commodities trading systems for 6+ years.

Certifications

  • Sun Certified Java 2 Programmer
  • BEA Certified Weblogic Developer
  • TIBCO Certified Developer
  • Microsoft Certified Professional (Analyzing Requirements and Defining Solution Architectures)
  • Mongoose Technology Certified PortalStudio Developer/Assembler