Professional Experience

Technical Lead at JP Morgan through Tek Systems from May 2008 to March 2010

Technical Lead for JP Morgan Chase’s Retirement Plan Services division which manages retirement plans for companies and provides access to participants online at a Java based website (www.retireonline.com), over the phone with a Java based interactive voice response system, and through a call center where representatives use a Java based website. Code is developed using IBM Rapid Application Developer 7 and deployed on WebSphere Application Server 6.1 with a DB2 database. Older pieces of the website use EJB, SQL, and JSP. Newer pieces of the website use Spring, iBATIS, JSTL and JQuery. A set of batch programs written in Java run on a Solaris box and use korn shell to kick off the applications.

Project Lead at Honeywell FM&T through Triple I from June 2007 to May 2008

Project lead at Honeywell FM&T responsible for leading customer meetings and prioritizing defects and enhancement requests. Developed enhancements to a custom designed inventory management system based on Java and an Oracle database. The application used both a Swing applet front end and Spring based web pages deployed on a Tomcat 5 application server. A large part of my work involved solving a performance problem by replacing the existing in-memory object database with a new JDBC solution. Eclipse was used for development, Ant was used for builds, and Subversion was used for the code repository. I acquired U.S. security clearance for this position.

Software Engineer at DST Systems from April 2007 to June 2007

Fixed defects for DST’s Vision web application using DST’s web flow engine framework and proprietary template language. Evaluated Java Server Faces (JSF) as the core of Vision’s future architecture.

Software Engineer at Reuters America from 1999 to 2007

Developer on BridgeChannel, a non-traditional Java AWT applet that displayed and analyzed real time market data. BridgeChannel included real-time charting, news, analytics, level-2, portfolio, and market watch lists. BridgeChannel was completely customizable and sold to third parties, including E*trade, to be branded on their websites with their own look and feel. BridgeChannel included an API allowing for customers to integrate applications into the product. Do to differing browser behavior and the state of Java, we developed custom event driven GUI components. Threading was used heavily throughout the different features to handle the real-time rapid updates of the data. The overall architecture of the product was very similar to Spring where different pieces of the GUI relied on services acquired through a central context class that was customizable via configuration files. The service classes were coded against an abstract API allowing BridgeChannel to seamlessly switch data feeds. BridgeChannel generated revenues of $33 million annually with approximately 100,000 users.

Developed a Java Swing based desktop application similar to BridgeChannel, but this product was never officially released.

Developed a more typical applet just for real time updates of bid, ask, and last trading price. This applet was branded for a time as E*trade MarketCaster.

As the result of the Reuters acquisition of Bridge, these Java applications were deemed end of life and future development was outsourced to Satyam. I traveled to Satyam headquarters in Hyderabad, India and trained a team of developers on our products, architecture, and general design patterns.

Software Engineer III at Sprint Corporation from 1998 to 1999

Developer on a Java Swing applet and a Java based server that communicated via remote method invocation (RMI). The applet used standard Swing components and an event driven model. The server queried and updated a DB2 database using JDBC. IBM VisualAge Java was used for development and source control. The application fulfilled federal regulations to allow third-parties to compete for Sprint customers by leasing parts of the network.

Business Analyst at Accenture from 1997 to 1998

Consulted on projects for Sprint PCS, Ameren, and PacifiCare. Required to quickly learn new technologies including a non-standard query language, a c++ framework, a COBOL system, and a method for authenticating and provisioning cell phones.