Andrew J. Siwko
Software Engineer
 

Summary: BS Physics, MS Computer Science, 15 years professional software development experience. Java, JMS, EJB/J2EE,  HTML, WebSphere, WSAD, SOAP, UDDI, WSDL, MQ, SQL, DB2, Oracle, CORBA, Windows, UNIX, OS/390.  Sun Certified Java Programmer.  Member, IBM Web Services Council.

Work Experience:  

 

Bank of America
Senior Consultant
December 2000 to present
Richmond, VA
  

 

Bank of America (formerly NationsBank)
Senior Software Engineer
June 1998 to December 2000
Richmond, VA
 

 

Structured Logic Corporation (now Intellimark)
Software Engineering Consultant to Bank of America
November 1997 to June 1998
Richmond, VA
 

 

Fidelity Investments
Software Engineering Consultant 
September 1996 to October 1997
Boston, MA and Dallas, TX
 

 

Georgia-Pacific Corporation
Software Engineering Consultant
February 1996 to September 1996
Atlanta, GA
 

 

Wachovia Bank
Software Engineering Consultant
August 1995 to February 1996
Winston-Salem, NC
 

 

XENERGY Inc.
Senior Software Engineer 
August 1994 to August 1995
Burlington, MA
 

 

Contronautics, Inc.
Manager of Software Engineering 
July 1990 to August 1994
Hudson, MA
 

 

Image Systems Technology
Senior Software Developer 
May 1988 to July 1990
Troy, NY

Education:

 

MS Computer Science, 1994, Boston University
Concentrations in Software Engineering and Artificial Intelligence
  BS Physics, 1988, Rensselaer Polytechnic Institute
Minors in Economics, Computer Science

Job Responsibilities:

Bank of America: Senior Topologist
I joined the WebSphere support group to provide Java expertise, especially in optimization and design.  One of my roles is to develop best practices for the Bank of America Java Center for Excellence. I am focused on developing tools and techniques for enterprise developers deploying java applications to WebSphere on all platforms, including OS/390, AIX, OS/400, Windows, and Solaris.  This includes developing web services capabilities on the platform.  I've used both the Apache SOAP project and the IBM Web Services Toolkit to build web services, web services clients using WSDL and registering the services in the IBM UDDI Preview edition.  I've also used the new WSAD features to create and publish web services.

In support of my nationwide team I have developed a chat system using the Lotus Sametime Java libraries, constructed a best practices web site, and developed technical exercises for team members.  I have written a JMS implementation for MQ on OS/390 to cover a short term gap in IBM’s product offerings, and participated in an evaluation of the impact of WLM on WebSphere. 

I'm a member of the web services security working group and am leading a bank-wide web services roundtable.  I'm also leading a small interdepartmental team responsible for opening up interoperability technologies here at the bank.  We're primarily investigating the use of web services to leverage existing assets and enable new cross-application relationships.  We're also tasked with developing a component reuse model and a hosting model for web services.

I have responsibility for defining the gold standard for WebSphere deployment corporate-wide.  I am the technical lead for the organization’s WebSphere 5 beta program.  We have been testing WebSphere 5 including network deployment and WSAD 5.  I prepared an evaluation for IBM and am in the process of expanding the write-up for submission to a trade publication. 

I make topology recommendations in the areas of clustering, failover, and scalability.  When necessary, I provide trouble-shooting and performance tuning.  I've headed up a "swat team" to resolve production problems with highly-visible applications such as CRM.  Recent tools I’ve used include Introscope, JProbe, and IBM thread analyzer.  A recent success includes a highly available configuration of DB2 across AIX and OS/390.


Bank of America: Senior Software Engineer / Technical Lead

I drove the transition from C++ to Java development for our global bank directory and payment router products.  I developed the first two iterations of the billing analysis system for the Bank of America Direct product and participated in the development of the second generation java bank directory maintenance product and payment message engine.  I led a small team whose development is now entirely in Java against JDBC (to Oracle), CORBA and JMS (to MQ).  We made continual improvements in our development processes and were able to produce UML analysis and design documentation with Together, perform testing with jTest and build JUnit tests in an attempt to formalize our ongoing  refactoring efforts.

I also investigated software and determined what tools were appropriate for our development environment. I developed relationships with software vendors and made recommendations for enhancements to their products. On occasion I wrote a software tool when none was available, for example, a bridge between jTest and Visual J++.


Structured Logic Corporation: Software Engineering Consultant
to Bank of America
I contracted to the bank for eight months before signing on as an associate.  My team developed a global bank directory and software to automatically route wire payments through intermediary banks. The software was written in C++ with Rogue Wave libraries for deployment on HP-UX against an Oracle database. We also built a Java Web interface using JRun (servlets) and VisiBroker (CORBA) for testing.

I established a cross-platform development environment on a small NT network using Visual C++, SQL-server and IIS to model the production environment. Code was developed and tested on NT before deployment on UNIX. I installed Visual SourceSafe for revision control and trained the other developers on this product.

Our small token ring subnet was connected to a token ring network and to an Ethernet segment. I managed the DHCP, WINS, web proxy and DNS requirements, then mentored another team member to take over the group's networking requirements.


Fidelity Investments: Software Engineering Consultant

In Dallas I designed and developed an intranet web site to provide internal information to Fidelity Investor Center staff. This web site was so well received that it became the corporate intranet standard upon which other intranet web sites would be based. I also developed an employee-feedback system based on JavaScript and server-side PERL. Along the way I helped start a new development team, provided technical support, and conducted a number of research projects.

In Boston I worked with Fidelity’s WebCore team to develop a secure platform to enable brokerage houses to use the Internet to access trading and account information at Fidelity. My first project was to build a Netscape web server extension DLL using the NSAPI specification. This extension was developed on NT but targeted for installation on Unix servers. The code acted as a secure relay from the Internet through the firewall to the server on the Fidelity trusted network. My second project was to build multi-threaded logging capabilities into the back-end server to improve performance. I also built test scripts to verify system capacity and uncover bugs.

During the course of my work at Fidelity I used Visual C++ on NT and GNU C++ on Solaris Unix. I wrote scripts in PERL for NT and built programs in C++ and PERL to implement HTTP communications with servers and clients. I worked with Netscape’s 128 bit security release and Verisign. And I worked with Front Page and raw HTML to produce web pages as part of configuration and testing.


Georgia Pacific Corporation: Software Engineering Consultant

As a member of the Technical Architecture team, I supported GP’s application developers. I worked primarily on Windows NT, developing applications for Win16, Win32 and WOW in Visual C++ 1.52 and 2.2. My primary assignment was to develop a script based installation tool for enterprise-wide software distribution through SMS. The application deployment tool had a 16 bit base with 32 bit DLL extensions for NT and Win95. While at Georgia Pacific I also completed a report generation program, and conducted a research project to identify resource leaks in a third party product.

Wachovia Bank: Software Engineering Consultant
At Wachovia I developed software for a CD-ROM archive and on-line check image retrieval application suite called Image Workstation. My work was in Visual BASIC, C++ and Microfocus COBOL. The COBOL components were OS/2 DDE and EHLLAPI applications. I also standardized the procedure for creating the installation disks while maintaining the InstallShield script sources. As a software consultant I was called upon to provide solutions to many related problems including providing customer technical support and researching CD jukebox solutions.

XENERGY Inc.: Senior Software Engineer
At XENERGY I was responsible for writing utilities for Windows and OS/2 to process database import files. I also helped design systems including data and screen layout for public utilities’ energy savings program management software (DSM). I wrote software for OS/2 and DOS using Borland C++ and Visual C++. The OS/2 software was written to transform data in a DB/2 2 database. The DOS software used some of the same source code but was constructed to prepare database import files. I often had occasion to work on problems using SQL (DB/2 2, Sybase, Oracle) and MS-Access. I participated in projects for utilities in New York, Ohio, Wisconsin, Arizona, and Connecticut. I was involved in phases of the project from writing the specifications, through implementation to testing and installation on site.

Contronautics, Inc.: Manager of Software Engineering
At Contronautics I was responsible for all aspects of Software Engineering from research and development to testing and documentation. Under my direction, the department developed applications for industrial process control, including robotics and machine vision systems. We designed and developed both hardware and software to control processes such as medical waste incineration, vision assisted surface mount component placement, and computer integrated manufacturing line control. We worked with Ford Motor, IBM, DEC, Northern Telecom, and Motorola to develop new applications and enhancements to existing systems. Software development projects at Contronautics were constructed with C, C++, Visual BASIC, and assembly language. I also worked with Borland C++, Microsoft C v 5-7, Microsoft Visual C++ v1 & 1.5 and Visual BASIC v1, 2, & 3 (Professional). Projects were built using a combination of Microsoft’s make, nmake and Intersolv’s PolyMake.

Image Systems Technology, Inc.: Senior Software Developer
Image Systems asked me to join them as their sixth employee. This start-up firm developed software to integrate existing paper drawings with CAD systems. During my years with Image Systems I developed the ViewBase software and its spin off, JetView. These products archive, view and print or plot raster images. In 1990, they were distributed in 23 countries. I also worked on the CAD Overlay and CAD Overlay ESP products and was responsible for the development of all the raster print drivers. At this company my responsibility was to develop product to specification. I was also encouraged to develop new ideas. Among them were enhanced RLC compressions, an ADI interpreter, high speed parallel and serial interface software, a high speed scanner driver, and a high speed PostScript driver. Image Systems grew to over 30 employees before I left.

On the side

At home I’ve set up several Linux systems supporting a home network and the siwko.org Internet domain.  I use zone edit to manage my DNS and web forwarding allows me to host www.siwko.org without exposing my network directly to common Internet attacks.  In the course of my tinkering I’ve set up a local caching DNS, Apache 1 & 2, Tomcat 4, WebSphere 4 and 5, Eclipse, WSWB, vncservers, sshd, sendmail (with SpamCop and ORDB), SquirrelMail, and several cron based java jobs to monitor the temperature in my house and at a local weather station.  I keep the results in a MySQL database and publish them to JPG images on my Internet web site using Java.  I’m also working on a JSP-driven task management database for our web site, and I’m investigating Java tools for Palm development in a wireless device.

I have over 1,200 photographs digitized in an archive organized by a Java program using the Java Advanced Imaging API.  My hope is to implement a secure image archive for family access to photos over the internet and on home produced CD-ROMs.

I’m coaching a youth soccer league and participate in the Richmond Catholic Committee on Scouting.

I am the webmaster for Saint Joseph's parish (www.stjoesrichmond.org).


Job Related Skills:

Development Environments:
IBM WSAD / Eclipse, Microsoft Visual C/C++, Visual BASIC, J++, JDK 1.3, Interdev, Borland IDE, MS Front Page, MFC, RogueWave, emacs/DDE, Purify, CORBA, ClearCase, Visual Source Safe

Development Languages:
APL, ASL, Assemblers (8085, 8048, Z-80, 8086 family, IBM 360/370), BASIC, C, C++, COBOL, FORTH, FORTRAN, Java, LISP, PASCAL, PERL, SNOBOL4


Java API's:
JDBC, Servlet, JAI, KVM (on Palm-OS), javacomm, doclet (javadoc), JMS


Operating Systems:
Windows (95, 98, NT 4.0 and 2000), Linux, OS/2, UNIX (AIX, Solaris, HP-UX) , MS-DOS, Macintosh

Windows API’s:
OLE, MAPI, WIN32, WOW, WINSOCK, DDEML, ODBC, MFC, VBX, ActiveX, IISAPI

Databases:
MS-SQL Server, Sybase, DB2/2, Oracle, MS-Access, JDBC

Protocols:
TCP/IP, SSL, HTTP, Telnet NVT, NNTP, SMTP, POP, rexec

Failover Technology::
BigIP, Edge Server, VIPA, WLM


Other Information:

Masters Degree Course List:

CS 535 Data Communication CS 673 Software Engineering
CS 547 Discrete Math CS 761 Natural Language Processing
CS 564 Artificial Intelligence CS 763 Expert Systems
CS 565 Object Oriented Programming CS 762 Complexity Theory
CS 572 Computer Architectures CS 772 Parallel Computer Architecture
CS 575 Operating Systems CS 773 Software Testing Techniques
CS 579 Database Management  
CS 662 Computer Language Theory CS 770 Object Oriented Analysis and Design


Recent Technical Training, Conferences and Certifications:

Red Hat Certified Engineer for RHEL 4
Red Hat, March, 2006

Red Hat RH300 - RHCE Fast Track Certification
Red Hat, March, 2006

Java One
Sun Microsystems, June 2005

IBM WebSphere 5.0 on zSeries Installation and Administration
IBM, July, 2003

IBM Web Services Council
IBM, May, 2003

Architecting and Designing J2EE Applications
Sun Microsystems, October, 2002

IBM WebSphere 5.0 - Beta Lab
IBM, May, 2002

IBM Web Services Briefing
IBM, March, 2002

Enabling OS/390 Java Applications Using WebSphere (ES49)
IBM, April, 2001

Enterprise JavaBeans Programming (SL-351)
Sun Microsystems, March, 2001

Sun Certified Programmer for the Java 2 Platform
Sun Microsystems, August 2000

XMLDevCon 2000
June 2000

Mastering UNIX Shell Scripts
Lockheed Martin, December 1999

Rational ClearCase Fundamentals
Rational, October 1999

Java One
Sun Microsystems, June 1999

Object-Oriented Design Patterns
Lockheed Martin, March 1999

Advanced Object-Oriented Analysis and Design Using UML
Lockheed Martin, December 1998

Introduction to Rational Rose/C++ V4.0
Lockheed Martin, July 1998