A challenging position at which I can use my skills in system architecture, software development and team leadership to make difficult tasks achievable.
Available for contract work telecommute or in-person in the vicinity of Myrtle Beach, South Carolina.
Contract Software Engineer
Orbitz (Chicago, IL)
- Worked with the Orbitz For Business web interface. Used a Struts-like servlet MVC system, integrating BEA Weblogic with Oracle databases.
- Added functionality to allow for display and handling complex ticketing, exchanged or refunded tickets and multi-airline round trips.
- Extended a system for uploading bulk membership information from Excel files via servlets.
- Added in functionality that allows users to view airline seatmaps in the search functionality, prior to purchasing the flight.
Senior Software Engineer
GuardedNet (Atlanta, GA)
November 2001-January 2004
- Migrated geographic mapping system to a paired Java client/server that use SOAP as the transport mechanism and expose a richer API that the original whois based server.
- Created a dual purpose Java applet/application that displays security incidents as lines and nodes on a map of the world, using ILOG JViews 5.5 as the mapping tool.
- Worked to convert all backend daemon processes (C/C++ and Perl) to J2EE services. Developed transition plan to allow for dataflow to exist in legacy methods as well as via JMS. Designed new Java implementation classes to duplicate behavior of C++ classes and Perl scripts.
- Built Java applets to integrate with back-end alerts database for real-time threat warnings. Developed Perl scripts for automated cache-filling daemon processes. Worked on the web-based UI in PHP with MySQL.
- Developed a whois style server that provides geographic information about IP address ranges to client installations, complete with parsing addresses to determine geographic coordinates.
- Created an automated build system with building daemons in Perl and web-based UI in PHP. Wrote position paper describing software process, from requirements through source handling and building.
- Built XML API into database for import/export of custom data.
- Used Cayenne to create database installer that works with both MySQL and Oracle, provisioning tables and inserting initial data.
Software Engineer (contract)
UPS.com (Roswell, GA)
July 2001-November 2001
- Worked with JSP/Java Servlet based package shipping product.
- Supported existing code by adding in compatibility for additional browsers and platforms.
- Served as resource for Oracle compatibility issues.
Software Engineer (contract)
WREK 91.1 FM (Atlanta, GA)
May 2001-July 2001
- Designed and built a system to integrate existing Oracle databases with AudioVault radio station automation system
- Wrote scheduling application in Java, administrative tools in Perl and internal management web page interfaces in PHP as well as public web pages in Perl CGI
- Enabled full station workflow to be tracked and managed with these tools
Infinite Ink/InterTrust (Portland, OR)
April 2000-May 2001
- Led team that architected and developed a system for vending secured documents and rights files via HTTP
- Developed system for cryptographically verifying coupons and sale transactions. Built COM objects in C++, ASP scripts, Perl scripts and databases to glue this system together. Carried these systems from requirements through detailed design and implementation using UML.
- Developed complex high capacity back end for transactions processing of client requests for secure digital publication using rapid prototype and continuous integration techniques. Designed full test harness and software for testability enabling the team to deliver on very tight deadline.
- Designed second implemtation of system as Java based system for deployment on non-IIS platforms. Redesigned existing C++ COM objexts as servlets, mainaining interface and full interoperability with existing systems.
- Wrote Perl module and XSUB to sign and verify with PGP. Developed CGI scripts in Perl to perform DB driven tasks and generate dynamic web pages for book purchase transactions.
- Set up automatic build processes with Perl scripts.
WellMed (Portland, OR)
March 1999-April 2000
- Led project to allow data interchange with sponsoring portal websites. Implemented data exchange system using XML.
- Built Java applets to query medical terminology database and interact with Active Server Pages. Designed and built a custom protocol to convert queries from the 3rd party library's RMI to textual HTTP for total compatibility with all platforms. Built a Java servlet to act as conversion engine from HTTP to RMI.
- Implemented a system to allow faxing from web pages with ASP and COM objects.
- Implemented database-driven drug interaction system.
JStream (Portland, OR)
July 1998-February 1999
- Created Java servlet based server system to perform key exchanges for locked eBooks. Evaluated then current Servlet technologies to determine best fit. Wrote MFC client application in C++ to perform the key exchange with servlet. Worked with C++ code of ebook reader client system.
- Created automated overnight build system and established a system of code review and source control policies.
- This body of work continued in the above "Infinite Ink/Intertrust" job due to acquisition.
Intel Corporation (Hillsboro, OR)
July 1997-July 1998
- Worked on a Java GUI that served as a front end to legacy fab automation systems. This involved GUI creation, using multiple tiers to separate business logic from GUI, and adding networking capabilities to communicate with existing systems such as the Tibco message queue.
- Served as resource for Java and GUI issues for group of 20.
- Automated and managed daily build processes for this project with Perl.
- MS in Computer Science, May 1997
University of Southwestern Louisiana
- Developed client-side data mining system for the World Wide Web using Java.
- Built a back-propagation neural network as a Java applet.
- Wrote technical paper proposing graphical interface with abstract syntax tree of program code.
- BS in Chemistry, December 1990
Georgia Institute of Technology
Server-Side: Java Servlets, Jakarta Struts, RMI, B2B data interchange via XML, CGI programming with Perl, C, C++, Integrating with Apache and IIS, COM development for IIS websites.
Client-Side: Java applets and standalone applications using AWT and Swing, integrated build environment and unit testing with Ant and JUnit, created MFC applications with C++ and MS VisualStudio, coded Perl modules, including XSUBs written in C, created VB applications as test drivers for COM objects.
Databases: Have programmed web and/or client applications to interact with MySQL, PostgreSQL, Oracle and MS SQL Server databases.
Platforms and tools: Macintosh, all Win32, DOS and various Unix platforms (Solaris, Linux, etc), Eclipse IDE, Ant integrated with JUnit, JDK with Emacs JDE, Forte/NetBeans, Visual Cafe, JBuilder, MS Visual Studio, MS Visual Interdev.
Other: Excellent written and communication skills, structured and OO design skills, full software lifecycle experience from market/product concept through design, shipping, and sustaining engineering, experience with software cost and schedule estimation techniques.