Requirements analysis, software design and implementation, database and application server
analysis, design and implementation, hardware / software / OS integration, testing documentation,
and developer training.
WebSphere Application Server V2, V4.x, V5.x, V6.x, V7.x, WebSphere Portal 4.x and 5.x, WSAD, RAD7, Apache, IBM HTTP Server, JBoss 3.2.x, Tomcat, Jetty, Entrust GetAccess 7.1 SP2 (server, SDK and runtime), ESRI 9.1 software (including ArcSDE, ArcIMS, ArcCatalog, ArcInfo, and ArcMap), Sphinx, IBM WebSphere MQ (formerly MQSeries), Load Runner 7.81, Rational Rose, Visual Slick-Edit, Visual Studio, Visual Age for JAVA, SSL, VMWare, Parallels, MS Office, Dreamweaver, TOAD, Druid, HAT (Heal Allocation Tool), Tivoli Performance Viewer, OptimizeIt, JProbe, WordPress, PD4ML and many more.
MySQL, Oracle, PostgreSQL, DB2, Cloudscape, HSQL, McKoiDB and MS Access.
Linux, Mac OSX, Sun Solaris 8, IBM AIX 5.1, Windows 3.1/95/98/NT/2000 Advanced Server/2003 Standard Server/XP and DOS.
Sendmail / procmail, Spam Assassin, qpopper, dovecot, SSL certificates, iptables, rsync, SSH, telnet, ftp, apt-get, rpm, etc.
Senior Software Engineer|
Roadie Rage, Inc.
11/11 to 3/12
Client: Dynamic Information Solutions, LLC
Oracle 10g, PL/SQL, jQuery 1.7.1, jQuery UI 1.8.16, Oracle Java Procedures, TOAD, PD4ML
Senior Software Engineer
- Created a web application using Oracle PL/SQL and HTML/jQuery for managing and collecting user's interests and preferences.
- Integrated the interests and preferences application into the customer's online membership signup application and their user profile management application.
- Re-engineered the customer's membership signup web application.
- Created an Oracle interface for PD4ML, a commercial Java solution for exporting HTML documents as PDFs. This interface and PD4ML were deployed on Oracle, making PD4ML functionality available to Oracle PL/SQL applications.
Roadie Rage, Inc.
7/09 to 10/11
Client: TES - The Employment Solution, Northrop Grumman IT, USPS
Java/JEE, JSP, servlets, JDBC, JavaBeans, XML, Oracle 9i/10g, Oracle Java Procedures, PL/SQL, jQuery 1.3.2, jQuery UI 1.7.2, Subversion, TOAD
- Added new features to the USPS AIMS system (Asset Inventory Management System).
- Extensively re-engineered many parts of the system to add ability for field personnel to manage and query the system from both district and support program perspectives.
- Improved and simplified parts of the user interface by using jQuery core and UI widgets).
- Improved the custom query functionality in a number of different ways.
- Created a reusable JSP tag library for managing a user interface breadcrumb trail and integrated it into the application.
- Wrote Oracle stored procedures to insert assets from designated Excel spreadsheets and configured Oracle so they would run nightly.
- Updated user documentation to include topics for new features.
- Migrated AIMS from Java 1.3 to Java 1.4.
CEO, CTO and Software Developer
- Installed and configured Subversion server and clients.
- Imported AIMS source code into newly created AIMS repository.
Roadie Rage, Inc.
4/08 to 7/09
Senior Software Engineer
- Solely designed, developed, deployed and maintained all Roadie Rage's original web sites, including its flagship application. Roadie Rage provided software services to musicians, music lovers and music-related businesses.
- Developed rich Flash UI using Adobe Flex 3.
- Created media player widget.
- Created hierarchical list browser component similar to iTunes'.
- Smoothly integrated affiliate product catalog into user interface, providing full text search capabilities via Sphinx.
- Developed server in Ruby on Rails.
- Created application for musicians to post and share streamable and downloadable MP3s with Roadie Rage users.
- Further developed single sign on features.
- Built a custom cache solution for poviding library of music as static, compressed XML files for highly efficient servicing of requests by Apache (bypassing the Rails server completely in most cases).
- Considered business plans, models and opportunities.
- Hired and managed additional executives, IT support staff and software developers.
- Produced and posted Roadie Rage promotional video on YouTube.
- Developed iAirGuitar for the iPhone / iPod Touch, used to promote Roadie Rage.
- Produced high quality video / audio recordings available on YouTube for excellent fusion band, Baltic Avenue.
1/06 to 4/08
- Developed, deployed and maintained Railinc's Single Sign On application in development, test and production environments.
- Contributed numerous features and enhancements to SSO including:
- Wrote a more powerful dynamic search API for finding GetAccess users.
- Created a nice interface for importing configuration data for SSO applications using XML to streamline and reduce errors while configuring SSO for those applications in different environments.
- Wrote most of the customized GetAccess extension code to handle Railinc business rules including generation of cookies needed for basic authentication with Sharepoint.
- Modified GetAccess' behavior in order to allow users to log in as other users without needing to know the other users' passwords.
- Wrote an SSO developer hack so that developers could easily bypass use of a real SSO server in their local IDEs.
- Wrote a JAAS login module that authenticates web services users with the SSO application.
- Wrote efficient PL/SQL stored procedures to do some complex, nightly merging of hierarchical railroad mark data for use with SSO.
- Wrote Ruby and PL/SQL scripts to massage user and role data from previous systems for insertion into SSO.
- Successfully migrated many of Railinc's applications and their users/roles from their older customer registration application to SSO.
- Successfully integrated a number of new Railinc applications with SSO.
- Successfully transitioned SSO to maintenance team
- Wrote thorough, first rate documentation on company wiki.
- Extensively trained software developers on maintenance team.
- Designed, developed, deployed and maintained Railinc's GeoTool mapping application (phase one and phase 2), almost completely by myself. GeoTool was designed to be used by any Railinc application that needs to show a map or allow selection of items on a map.
- Based on ESRI's ArcIMS and ArcSDE products.
- Installed and configured ESRI's ArcIMS and ArcSDE servers on Linux boxes in development, test and production environments.
- Wrote scripts to import track and station data into ESRI's ArcSDE database.
- Helped integrate GeoTool with Railinc's Embargo application.
- Converted old ColdFusion application called Circular OT5 to Java.
- Deployed Circular OT5 in development, test and production environments.
Contractor, InCentric Solutions
4/05 to 1/06
Senior Application Development Specialist
- Developed, deployed and maintained Railinc's Single Sign On application in development, test and production environments. SSO is one of Railinc's most critical applications and simply cannot afford any unexpected outages. SSO provides authentication and authorization services for most Railinc applications. Please see my more recent Railinc work experience for details concerning development activities.
- Installed and configured most components of SSO including:
- Entrust GetAccess 7.1 SP2 server cluster, runtimes and SDKs
- Apache/IHS web servers
- SSO application
12/02 to 3/05
WebSphere SVT Group Member
Solely designed and developed a popular IBM internal web-based automated test execution
framework I named "Squash" initially for the Portal test teams. It allows test team members to execute and
track automated SilkTest, Rational Functional Tester and STAX automation scripts from a
web browser against the latest product builds, which in our case are usually IBM's WebSphere
Portal 4.2.x and 5.x products. Its simple and intuitive interface and reliability under load
have led to the adoption of the tool by other teams at IBM for similar purposes. The tool
is a Java J2EE application written using XML, EJB, JSP, JDBC, DB2, JBoss, IBM's WSAD IDE and
various open source technologies.
Deployed and administered Squash on several Linux
servers for use by the Portal test teams and automation script developers in running
automated regression test cases.
Solely designed and developed a popular web application I originally named "Bug Ranger" that adds a full text search index
and a Google-like UI for CMVC defect/feature abstracts and notes. Many IBM development
and test teams across the world are deploying my application to make up for this lack of
functionality in IBM's CMVC product. This application uses the popular open source Lucene
Deployed and administered Bug Ranger for use by the
global WebSphere Portal test and development teams.
Developed JSR168 compliant portlets for further testing of the Portal container than was
covered under the TCK. These portlets uncovered additional defects that were fixed prior
to shipping the Portal 184.108.40.206 release.
Developed a Struts application for WebSphere Portal to test Portal's Struts 1.1.0 support.
Wrote and executed robust Load Runner scripts for testing various portlet applications
including "Portable Document Manager" and "Common PIM Portlets".
Manually executed a variety of test cases with several different configurations (mostly
on Solaris, AIX, Linux and Windows using IBM HTTP Server, IIS6 and DB2), as well as many
automated tests via the web-based execution framework I created.
4/02 to 12/02
Business Systems Analyst / Programmer
Developed EJB applications that utilized session, entity and message beans for use in
WebSphere Application Server 5.0 system testing.
Executed a variety of test case scenarios on several platforms, including Linux (RedHat,
SUSE and MontaVista), AIX, Solaris and Windows NT/2000. These test cases were executed
using various configurations including single-node, multi-node, and multi-node with
clusters of application servers managed under IBM's Network Deployment application.
The test cases exercised various technologies including WebSphere Application Server
(4.0.4 and 5.0), MQSeries, various web servers (including IBM HTTP Server, Apache,
Apache EAPI, Domino, IPlanet) and several databases (including DB2, Oracle, and Informix).
Identified and opened defects against WebSphere, IBM HTTP Server, MQSeries and Domino.
Contractor, TES - The Employment Solution
5/01 to 11/01
Client: Litton PRC, Northrop Grumman IT, USPS
Java, JDBC, JavaBeans, Java RMI, Java Comm API, Swing, C++, Visual C++, XML, Visual Basic, SQL, MS Access, TOAD
Led the technical design, implementation and testing of the Java portion of a distributed
proof of concept application known as ATLAS for the United States Postal Service.
Joined a team during the design phase that had already committed itself to developing the
workstation portion of ATLAS partially in Java and partially in Visual Basic due to time
constraints and a shortage of Java developers. I ultimately led the team to a successful,
full implementation in Java / C++ using free open source software where applicable, running
on Linux for increased reliability.
Led the design and implementation of the ATLAS Facility Server, an application server
(running on Windows 2000, using Oracle as the back end and JServ as the servlet engine)
that provides the Tray Label Collectors (TLCs) in a mail processing facility with sort plan
data. The facility server also manages tracking data originating from the TLC and uploads
it to the ATLAS national server.
Designed and wrote servlets to handle communication between the TLCs and the facility server,
including the uploading of large amounts of transaction data as compressed XML files by the
TLC for inserting into an Oracle DB on the server.
Pioneered the design and development of a reusable, distributed hierarchical configuration
system. Coded almost all of the necessary components of this system, including a Java Swing
GUI for administration, Oracle stored procedures, servlets, XML parsers and a Java RMI server.
Created a clean, event-driven, multi-threaded, object-oriented design for signaling GUI
updates, greatly improving the Java GUI's responsiveness as compared to the VB GUI.
(Multi-threaded programming is not simple in Visual Basic.)
Designed and implemented a barcode scanner driver in C++.
Designed and implemented an efficient, extensible, multi-threaded, object-oriented printer
driver in Java for thermal barcode printers used by the USPS that runs in the same JVM as
the TLC application and uses the Java Comm API.
Designed the TLC's Listener, which is responsible for parsing incoming data off the serial
ports. The Listener spawns new listener threads for each serial port to handle print
requests originating from Mail Processing Equipment (MPE), parses the data and passes it
along to the Event Manager. The Listener can be easily extended to support various types
Designed the TLC's Event Manager, which handles all communication between the facility
server, listener, print driver, and GUI. Some of this communication involved posting to
servlets on the facility server while some involved the use of Java RMI.
Wrote most of the Java RMI code facilitating communication between the TLC and facility
Wrote the configuration and sortplan XML parsers in C (using the free libxml2 for Linux)
due to the performance requirements.
Implemented most of the Event Manager-related functionality.
Designed and wrote code using JDBC for accessing the databases where applicable.
Contractor, CNC Global Inc.
4/00 to 11/00 and 12/00 to 3/01
Java, XML, Visual Age for Java, TOAD
Corporate Research and Development Team Member
Developed authorization code as part of the security team for a distributed operating
system written in 99.9% Java.
Participated in the implementation and testing phases of development.
Took over ownership of, designed and developed new features for the distributed security
cache and the security directory service code for the distributed OS.
Found, debugged and tested fixes for many security-related defects.
Developed an innovative way to generate test cases for testing the security authorization
APIs. I created a test tool in Java/XML/Jef and used it to generate hundreds of test case
variations. These generated test cases were run regularly against new builds of the
distruted OS as they became available. Use of this tool achieved far greater coverage
than would have otherwise been realized with manually written test cases. Once available,
the tool generated hundreds of test cases quickly and easily. This tool provided great
coverage for the security API test effort.
Intelligent Information Systems, Inc.
9/99 to 4/00
Java, JSP, JDBC, JavaBeans, Java RMI, XML, Visual Basic (including add-ins and ActiveX controls), UML, SQL, PL/SQL, HTML, WebSphere Application Server V2, Rational Rose, Oracle, MS Access, TOAD
Technical Staff Member
Specially selected by the company president to participate in IIS' Corporate R&D Team,
which was formed to creatively streamline the conversion of large legacy applications
to newer technologies. Duties included mastering new and old technologies, obtaining
certifications, formulating new methodologies and creating application frameworks that
support them, and developing new tools. Gained experience on internal projects using
technologies like Java, servlets, JSP, WebSphere Application Server, JavaBeans, Rational Rose.
Played a lead role in designing, implementing and testing WebPET, the Web Productivity
Enhancement Tool. WebPET is a repository for internally developed tools that are made
available for use by employees via WebPET's web interface. All of the tools contained
in the WebPET repository are run on the server, eliminating the need for the installation
and maintenance of these tools on each developer's machine. WebPET's servlets and JSPs,
running on IBM's WebSphere Application Server, provide dynamically generated HTML forms
to WebPET users who wish to use a specific tool in its repository. These forms prompt
for the parameters required to use that tool. Each tool and its parameters are described
in an associated XML document. I designed much of WebPET using UML and Rational Rose.
Played a lead role in designing and implementing BugTracker, a defect tracking system written
mostly in JAVA for the web.
Intelligent Information Systems, Inc.
1/98 to 11/99
Visual Basic (including add-ins and ActiveX controls), SQL, PL/SQL, Oracle, MS Access, Cognos Powerhouse, TOAD
Software Engineering Intern
Played a lead role in creating and executing a methodology for converting a legacy Cognos
Powerhouse client/server application to Visual Basic. The customer was a Wisconsin-based
insurance company. Their application consisted of several hundred screens, reports and programs.
Participated in all phases of development for the legacy conversion project.
Due to the innovation demonstrated in the methodology and toolbuilding described below, the
project was successfully completed under budget, about six months ahead of schedule and with
about half of the originally projected manhours. The team also included many last minute
enhancements that were not part of the original project plan.
Invented SLIC - the Screen Layout Item Constructor VB add-in within my first week of
programming in Visual Basic. SLIC automates the process of converting legacy application
screens to VB forms and saves from 2-30 hours of work on each screen that it generates,
with greater time savings realized on more complex screens. SLIC eliminated many hundreds
of hours of tedious work on the legacy conversion project.
Independently created SLAC - the Screen Layout Auto Coder VB add-in, which helps automate
tedious coding tasks using user-defined templates. SLIC and SLAC together generated
approximately 90% of all the VB application code for the legacy conversion project,
thereby greatly increasing my teams' productivity and reducing costs for the client.
Developed user controls in VB and incorporated them into the SLIC/SLAC methodology,
which was the methodology developed for the legacy conversion project described above.
Created a well-designed VB application framework that supports the SLIC/SLAC methodology.
At the owner's request, periodically demonstrated SLIC and SLAC to potential clients to
emphasize the technical ingenuity of IIS employees.
Participated in IIS' recruiting effort by giving numerous project demos to potential
Intelligent Information Systems, Inc.
Full time, Summer 1997
Oracle Developer 2000, SQL, PL/SQL, Oracle