David Wood Team345 Software
Engineer
NH, USA
dwood@team345.com
http://www.team345.com/
Technical Knowledge / Skills
Operating Systems:
Linux, Windows NT/2000/XP, 95/98/ME, HPUX, Solaris, Macintosh
Languages/Application Servers:
Java (1.5, 1.4), J2EE (1.x), Apache Tomcat (5.x, 4.x), JSP (1.2), Java Servlets (2.3),
Struts (1.2, 1.1, 1.0.2), Hibernate, Spring, Apache Axis, SOAP, XML, HTML, C/C++/C#, VB, ASP, JavaScript, SQL, JDBC,
Borland Enterprise Server, Orion
Databases:
Oracle (10,9,8), MS SQL Server, Postgres, MySQL
Development Tools:
Eclipse, JBuilder, JDeveloper, MS Dev Studio, Log4J, Apache Axis, Microsoft SOAP Toolkit (2.0, 3.0), Systinet WASP
SOAP Server (C++, Java), CVS, StarTeam, Source Safe, MS Project, TogetherSoft, NuMega
Tools, Rational Tools, JProbe
Experience
July 2002 - Present BT Conferencing, Inc.
Braintree, MA
Team345 Consultant
Member of the Architecture and Design Team. This group is responsible for the architectural roadmap of the
development team as well as project design approval and guidance. Personal responsibilities include serving as Technical
Lead on various projects (2-5 people), managing deliverables and timelines for design, implementation, testing, and release
Designed and implemented a new SOAP version of the API for the redesigned API layer using Apache Axis. This version
of the web service supports nearly all existing API functionality, user authentication and authorization, and segregated
web services and WSDL files. The SOAP API provides alternate access to the application functionality for clients unable to
use the existing internal web application.
Redesigned and implemented API layer of application to use Hibernate as a persistence mechanism rather than EJBs.
This included a full rewrite of the system interfaces and database schema to support a migration of UK systems into US
systems. Extensive build-time file generation was employed to reduce development and maintenance.
This redesign resulted in a 35% decrease in the number of classes, and a nearly 50% decrease in the lines of code, without
the loss of any functionality.
- Created an xml and Java framework for management of HQL queries. All complex dynamic query setup is
maintained in xml and Java wrappers for client use are created at build time. Adding new search fields requires only an
xml edit, recompile, and setting of new bean properties by the caller
- Created common base classes that provide consistent, nested, xml-formatted toString output, equals,
clone, hashCode implementations
- Created a generic Differences mechanism to provide historical tracking of changes to any simple or
complex object in the system. This ultimately displays in the UI as a History page showing the who, what, when and why of
changes to accounts, contacts, meetings and other entities.
Designed and implemented several Stateless Session and Entity EJBs. The Entity beans
utilized Container Managed Persistence (CMP). Many of the Session beans used JDBC for direct
access to multiple tables where performance was an issue. The Application Server was Oracle's
Orion Server (oc4j). Development was performed from within JDeveloper and JBuilder.
Designed, prototyped, and implemented Java Struts and JSP front-end of web application used
by Customer Service Representatives to maintain accounts, contacts and meetings.
The Java Server Pages (JSPs) and Apache Struts framework are used in conjunction with Apache
Tomcat 4/5. For maintainability and performance, I created several custom JSP taglibs.
Designed and implemented SOAP-based API for the application using Systinet's WASP Server for
Java. Selected functionality was exposed through WSDL and Web Services, with an additional
layer of data validation and external contact conversion added.
May 2002 - June 2002 MetraTech,
Inc. Waltham, MA
Team345 Consultant (onsite)
Assisted in Functional and Technical design of teleconferencing billing
solution.
Designed, prototyped, and implemented a web service for remote calls from
Windows to Solaris using SOAP. The web service was used to integrate
the MetraTech platform (Windows 2000) with existing tax software on
Solaris. Microsoft SOAP Toolkit was used on the client and Systinet
WASP C++ SOAP on the server. Also researched other SOAP
implementations, including Apache SOAP. Design included
fault-tolerance and scalability solutions through WSDL definitions and
client code.
July 2001 - April 2002 Blackstone Technology Group,
Inc. Worcester, MA
Team345 Consultant (offsite)
Responsible for building administrative management application using Java Swing
components.
The client-server application makes extensive use of JTables and JTrees, and provides GUI tools
for monitoring and managing the system data.
- Assigned to fix time critical and difficult bugs such as repaint issues in other
areas of the application.
- Addressed slow application startup times,
improving startup performance by 40%.
Responsible for designing and creating the product installer using InstallAnywhere.
Tasks include screen flow design, gathering of component and OS dependencies, creating
custom code and custom input panels, and build integration.
Dec 2000 - Jun 2001 SmartLynx, Inc. Londonderry,
NH
Senior Software Engineer
Responsible for building one C++ spoke in a hub and spoke architecture that
allows various engineering development tools to share designs through a central
point. All communication with the hub and other spokes is through XML.
- Under own initiative, addressed performance problems in the system (hub and
spoke),
bringing processing time down more than 99%
- Rewrote the "writer" half of the spoke in Java. The original spoke development was
outsourced to 3rd party
contractor and proved to be un-maintainable.
1999 - 2000 MetraTech, Inc. Waltham, MA
Senior Software Engineer
Recipient of Q1 2000 Teamwork Award
Contracted for three months before joining as a full-time employee.
Team Leader for the GUI development team, managing a team of up to 6
people. Responsibilities beyond normal development tasks included project
planning (task estimation, scheduling and tracking), early prototyping, scoping,
and design of all GUI items. Development of Active Server Pages for
displaying and maintaining the system's XML configuration files.
- Prototyped and built the Rating Configuration Manager, a Visual Basic
application using an embedded browser for display. All XML files used
for configuring the billing system were maintained through this application,
making extensive use of DHTML and styles.
- Under own initiative, built several ASP/Access
applications that were used company-wide. These include a Knowledge
Base and Status Report System.
1996 - 1999 Primix Solutions, Inc. Watertown, MA
Senior Associate (1997 - 1999)
Associate (1996 - 1997)
Recipient of 1998 "MVP" award for Consulting Services.
Individual projects listed below.
1998 - 1999 Centrilift Tulsa, OK
Project COMPASS, used to track drilling equipment and well performance.
The application architecture consisted of a Visual Basic GUI connecting via COM
to an object-oriented C++ business functionality and database connectivity
layer, accessing a MS SQL Server database.
As Project Architect, responsible for overseeing the design of all technical
and architectural aspects of the project and managing the design team of 8
people. Other responsibilities include facilitating user design sessions
for UI layout, creating an OO design of C++ functionality and data access layer,
creating a working VB prototype for the application and documentation of
system.
1997 - 1998 Hughes Christensen Houston,
TX
Project MAPIT, to analyze the performance of drill bits and create
reports. The client-server architecture consisted of a Visual Basic GUI
connecting via COM to an object-oriented C++ business functionality and database
connectivity layer, accessing a Personal Oracle 8 database on user's
machine. Responsibilities included facilitating user design sessions,
assisting in OO design, prototyping, team lead of C++ development.
Functional design, using UML notation, included use of several OO Design
Patterns, including subject/observer, bridge and singleton.
1996 - 1997 Nobody Beats The Wiz Carteret,
NJ
Project WISE for online order-entry for a retail electronics
store.
Version 1 Development: Version 1 of WISE was a Java applet embedded in HTML
pages, connecting via OneWave Enterprise and Entera to an Oracle database.
Responsibilities included development of all Entera servers, written in C and
SQL, design and development of a Visual Basic application for system
maintenance, and database tuning. Development of SQL triggers and UNIX
cron scripts that performed both the daily maintenance of data and monitoring of
Entera servers.
Version 2 Development: Version 2 of WISE was an HTML front end using Java
Servlet technology, connecting to Oracle through Entera and OneWave
Enterprise. Responsibilities included design of new system and
recommendation of new architecture, Technical Team Lead of system development
with a team of 2 others, development of Java Servlet base classes and
architecture that was reused in two other projects.
Education
1996 Middlebury College Middlebury, VT
Computer Science w/Honors
Magna Cum Laude
Phi Beta Kappa
Recipient of 1996 annual award in Mathematics/Computer Science department
Member number:7232
Additional Contact information is available on the Information Page.
Software Contractors' Guild (www.scguild.com)
Copyright(c) 1995 - 2001 David Wood and Software Contractors' Guild,
Post Office Box 257,Nottingham, NH USA 03290-0257