1070 Summit Drive

Deerfield, IL 60015

847.791.2500

Andrew E. Faibishenko

Qualifications

Repeatable success in building scalable enterprise business systems through use of object oriented analysis, design, and implementation.  Ability to effectively use new technology to solve complex business problems.  Strong technical leadership skills and architectural vision.  Project management, planning and tracking expertise.

Professional Experience

ISTEK consulting, inc.

Principal (Sept 1998 - Present)

q       Currently serving as a technical architect for a major legacy system reengineering project.  Responsible for technical architecture for a services layer which will be used by multiple applications to access and update a multi-terabyte relational consumer database.  The services layer is required to run inside Websphere, CICS, and batch both on zOS(S/390) as well as open systems such as AIX and Linux.  Detailed responsibilities include:

q       Logical and physical architecture – partitioning into subsystems and layers, design of common classes and services, separation of business logic from application and platform specific code, reviewing designs and code to ensure consistency and common vision with respect to standards and architecture.

q       Performance management – ensuring the overall system architecture satisfies the demanding performance requirements within the budget constraints for hardware.  Designing capacity prediction models.  Meeting with key hardware and software vendors to explain our needs and get access to their key technical staff, especially in the areas of DB2 and CICS.

q       Mentoring associates and presenting architecture to both client applications and other external stakeholders.

q       Productionalizing the systems – defining release/hotfix/backout processes, scripts, job definitions, and security.

q       Assisting in project planning tasks to ensure that technical and architectural risks are addressed through the implementation of an iterative development cycle.

 

This project presents unique architectural challenges due to the extreme performance requirements and high transaction and data volume.  The online systems process in excess of 5 million daily transactions with sub-second response requirements.  The batch systems perform an average of 80 million updates a day.  As part of the responsibilities of the architect I had to constantly balance design purity with performance optimizations as well as balancing implementation in Java vs. implementation in SQL.  Because our code had to run in Websphere we needed to concern ourselves with thread safety and we implemented a clever way of handling it with the use of ThreadLocal variables.  In CICS we exploited the new features of the persistent reusable JVM technology.  In DB2 we implemented such new features as identity columns and savepoints.

 

The system is being implemented in Java, with some components in C/C++ and SQL.

The relational database is DB2 and is accessed the SQLJ and JDBC technology.

The transactional systems are implemented in Websphere, CICS and MQSeries.

The batch systems run under zLinux and zVM. Job management is done through CA Unicenter/AutoSys software, with complex cross platform queing and load balancing setups.

Performance tools: Quest JProbe, Wily Introscope, TMON CICS/MVS/DB2.

Development tools: Rational Suite, ClearCase and ClearQuest, Eclipse IDE.

 

q       Implemented a group chat/instant messaging Java applet for a Web-based educational software company.  The requirements dictated a multi-threaded implementation.  Sockets were used to connect to the chat server.

The system was implemented in JDK 1.1 and 1.0(for backward compatibility) using JBuilder 2.0 and runs on MacOS and Windows platforms.

 

q       Led a team of 3 developers in designing and implementing a new international securities lending system for a global custodial bank.  Completed design for the automated broadcasts of asset availability and automated receipt/filling of loan orders.  Completed design for manual loan entry including: collateralization, baskets, par/money fills, open, term, bonds-borrowed, and tri-party loans.  Completed design and implementation of cash balance feeds to the PORTIA investment management system.  Completed analysis of settlement modules for DTC, Fed, and international subcustodian security and cash movements.

The system was designed using OOAD and UML.  The current implementation is with the Visibroker 3.3 CORBA ORB, VisualCafe 2.5 Java development environment and the Sybase System 11 database on a Sun Solaris 2.6 E10000.  A migration to Persistence PowerTier Enterprise Java Bean server is in progress.

 

q       As part of a two person effort, implemented an interface to the BOTCC(Board of Trade Clearing Corp) system for forwarding of futures trades from hand held devices on the trading floor.  Implemented a Java GUI editor for maintaining some of the operational parameters of the system.

The system was designed using OOAD and UML. The system was implemented in C++ with MQ Series middleware, Berkeley sockets, and the Sybase System 11 database on a Sun Solaris 2.6 Unix server.

 

 

Metamor Technologies, Ltd.

Senior Consultant (Oct 1995-Sept 1998)

 

q       Led a team of 5 developers in architecting and implementing the transaction processing component of a billing system for one of the nation’s top three credit bureau companies.  The new billing system can process over 720,000 credit reports/hour and will eventually scale to handle 120 million a month.  For each credit report, the system performs pricing, discounting, costing, revenue distribution, and royalty calculations.  The Forte development environment was used to provide load balancing and fail-over for this mission-critical system.

The system was designed using OOAD and UML.  Some of the central architectural patterns used were Visitor(GoF) and Feeder.  The system was implemented with the Forte development environment and the DB2 UDB database on an AIX 4.2 RS/6000.

q       Led a team of 4 senior C++ developers in implementing the infrastructure for a business rule server application at a large telecommunications firm.  The business rule server allows the company to quickly modify complex and volatile rules for pricing and promotions, order maintenance, and provisioning.  The system as designed would present a set of services to 2000 call center and POS desktops as well as other systems.  Our services would accept data from a client, optionally retrieve more data from a database, present the data to an inference engine, and return a result of a rule evaluation to the client.  In order to ensure 24x7 availability and sub 2 second response, while allowing updates of business rules, we designed a solution using multiple servers and the data dependent routing feature of Tuxedo.

The system was designed using OOAD and UML.  The system was implemented in C++, Tuxedo 6.1, NeuronData inference engine, and the Oracle 7.1 database on Solaris and Windows NT servers.  SCCS and MS SourceSafe were used for version control.  RogueWave Tools.h++ was used for collection and utility classes.

q       Led a team of 2 developers in implementing a Web-based prototype application for a major network equipment manufacturer.  The prototype of the remote management application for a security server was written in Java JDK 1.0.2 and used the JDBC-ODBC bridge to communicate with an MS-Access 7.0 database.

q       Led a team of 2 developers in implementing a retroactive adjustment calculation program for a national HMO.  The application worked in conjunction with the billing system and used complex logic to navigate multiple levels of timelines to find the correct adjustment amount.  The program processes 100,000 adjustments daily.

The system was built using C++ and C on VMS 6 and the Ingres 4.3 database.

 

MCI(SHL) SystemHouse

Senior Systems Engineer (Jun 1994 - Oct 1995)

 

q       Designed and implemented major components of a three tier, client-server pension benefits application. 

The system was designed using OMT.  It was implemented using C++, Sybase OpenServer and Sybase 10 database on HP-UX servers.  Atria ClearCase was used for version control and config management.  Centerline ObjectCenter was used for the development/debugging environment.  RogueWave Tools.h++ was used for collection and utility classes.

 

 

Risetime, Inc.

Consultant (Sep 1992 – Jun 1994)

 

q       Designed and implemented major components of an EDI document management system for a major retailer.  Was the senior developer throughout the complete software lifecycle from analysis through deployment to 1500 users.

The system was implemented in MS Visual C++ 2.0 and MFC and used the Raima Object Manager persistence libraries on Windows 3.11.  Intersolv PVCS was used for version control.

 

Merriam Laboratory for Analytical Political Research.

Programmer (Jan 1992 – Sep 1992)

 

q       Ported C and C++ code for an application modelling epidemics of infectious diseases from OS/2 to Windows 3.1.  Wrote code to graph data as various types of charts on both the screen and printer.

 

Professional Activities

Member of Association for Computing Machinery

Presented papers at OOPSLA’96( Object Technology in Healthcare) and

OOPSLA’97 ( Problems of Large Systems)

 

Education

BS in Computer Engineering, University of Illinois, Urbana-Champaign, 1992.