
A position where I can leverage my development experience and advance my skills in a growth oriented organization.
I currently manage a team of 6 local developers and 12 offshore developers. My team is responsible for all Next Generation development efforts. Our first project was a system for creating client career sites. There is a single instance of this application serving over 30 clients with very different career sites. Our second project is to create a basis for all future Java projects. This is a security application allowing people to login to any of our applications, and we have created a flexible administration system, allowing the admin application to be developed with minimal development time. My responsibility is to review all technical specifications and design documents. I then work with the development team to create a project plan. I have instituted regular code reviews for the team, and I have created a system for the management team to track our progress and measure our quality. I also work to ensure that my team has the answers they need to develop the software quickly. As development progresses, I work with QA management to triage bugs and find resolutions. Finally, I work with product management to help schedule projects for release.
Red Hat was rewriting the Red Hat Network, a web based application, from perl and python to Java. I architected the Java solution to allow a single back-end implementation for both the web and SOAP interfaces. This application used Struts as our MVC system with JSP and HTML based pages. We wrote a collection of JSP taglibs to reduce duplication of HTML tags. This system needed to work both as a stand-alone system using Java Sessions, and it needed to integrate with the Sessions created from the perl web site. We used Tomcat as our application server, because we didn't need a full blown application server. For our persistence layer, we used Hibernate talking to an Oracle database.
Covalent was beginning work on their Covalent Application Management system when I returned as a contractor. I was asked to create the Response Time measurement system, which was responsible for measure response time in all major web and application servers and reporting those times in a JSP-based GUI. This was a client/server based model, where the server was JBOSS with EJBs, and the client was a home-grown multi-threaded Java application. SOAP was used for all communication between the agent and server. I worked on agent bugs, and created all of the agent plugins for measuring Response Time. I also created the server-side architecture for storing the measurements. This application was ported to both Oracle and Pointbase databases.
Core Services Manager (5/01-7/02)
As Core Services Manager, I was responsible for a team of 5 people. My team was responsible for doing all open source-based development within Covalent, including Apache, mod_perl, mod_ssl, and Tomcat. We were also responsible for creating all of Covalent's installers. As a manager, I was the liaison between Engineering and the rest of the company, which included creating an escalation policy for bugs to be reported from Professional Services to Engineering. As a world's expert on the Apache web server, I was asked to perform monthly web seminars for our marketing department.Senior Software Engineer (1/00-5/01)
I was responsible for Covalent's Apache 2.0 work. This included continuing my work on the Apache Portable Runtime, and adding functional improvements to Apache 2.0, such as filtering and multi-threading. I reviewed all OEM deals in order to determine the required engineering resources for the project. I also provided on-site training about Apache to a variety of fortune 1000 companies.
I started at IBM working on the Lotus Domino Go web server, but IBM quickly moved to an Apache based solution. I was part of a three person team that worked to turn Apache from a multi-process web server to a hybrid multi-process/multi-threaded web server. I began a new open source project, the Apache Portable Runtime, which was a C wrapper library for all operating systems.
| C/C++ | Java | Enterprise Java Beans |
| Perl | CVS | Linux |
| Windows (all versions) | AIX | MS Project |
| gcc | vi | Apache |
| InstallShield Multi-platform | XML (xerces, xalan) | Tomcat |
| Autoconf | Oracle | SQL |
| Jakarta Struts | BCEL | Emma |
| Hibernate | Junit | Ant |
| Eclipse | Log4j | SOAP (axis) |
| Solaris | FreeBSD |
* B.S. (honors) Computer Science
* Member Upsilon Pi Epsilon
* Member, Apache Software Foundation
* Core contributor, Apache Portable Run-time (APR) project
* Vice President, Apache Portable Run-time project (2000 - 2002)
* Core contributor, Apache Software Foundation's http project (emeritus)