Java Programming Language Structured Query Language (SQL) Hyper-Text Markup Language (HTML5) Cascading Style Sheets (CSS3)




About Cincinnatvs...
Weather somewhere near you...
Ciber@Ford Motor Company
Arrow Strategies@Blue Cross Blue Shield of Michigan
The Judge Group@DaimlerChrysler
Kmart Corporation
CDP@Ford Motor Company
Handleman Company
United States Marine Corps
Staff Programmer at International Business Machines Corporation (IBM)
September, 2006 - March, 2010

International Business Machines, IBM The first assignment I was given for IBM was to create a Java proxy to interface between the IBM/ISS Customer Portal and an IIS server running the SightMax chat server. I wrote a Java Servlet which acted as the conduit between ISS customers and ISS support personnel via SightMax.

My next major assignment was a Java batch application which ran twice daily and collected configuration and security policy information from ISS customer security devices, including ISS RealSecure and Proventia A, G and M devices; Cisco ASA, FWSM, PIX and other devices; Juniper, Fortigate, Websense and many other types of security devices. There were four basic methods of information retrieval from all devices. The first, the simplest, was simply to collect a precreated file from a device and store it locally. The second, was to execute a command remotely which produced a set of files and displayed the list of those file names, then, collect the listed files and store them remotely in special directories based upon their file names and the device type. The third was to execute a set of commands remotely, return all the output from those commands, then compare that output to a predefined set of regular expressions and store only the output which matches. The fourth was to remotely execute a command on the device and return and store all the output of that command.

During my time on the ISS team at IBM we decided to follow the Extreme Programming (Extreme Programming) paradigm, including Agile development, Test-Driven Development and monitoring the health of our codebase with Continuous Integration. I set up continuous integration servers using Hudson, Bamboo and JetBrains TeamCity. Ultimately, despite the fact that we developed using JetBrains IntelliJ IDEA, we found that Bamboo worked best for us.

I designed and we used a set of scripts which I wrote in Apache Ant to build and deploy our various projects to their various servers, in development, QA and production. I also put together the design for our Linux servers to ensure when they were built, they had the software necessary to have the application targeted to run on them in place before deployment.