Thomas Gates
Derry NH *****
OBJECTIVE
I am looking for the next software challenge. I am interested in design & development of complex software systems.
________________________________________
WORK EXPERIENCE
Principal Software Engineer
PROGRESS SOFTWARE CORPORATION | Bedford, MA
January 2003 - present
• Design and development of a Microsoft .NET interface to ObjectStore, an object oriented database system. The implementation allows ObjectStore to run natively in the address space of the .NET CLR. Implemented in C++ & C++/CLI.
• Responsible for the design and implementation of a Microsoft .NET class library. This class library is used by clients in a three tier architecture. The class library forms an interface between the Microsoft .NET CLR and an application server. The class library is written in C#.
• Design of XML export capability for ObjectStore C++.
• Design and implementation of a license management solution for a commercial database product. The license management solution implements the RSA Public-Key Cryptography algorithm. Implemented in C++ and Java.
• Prototype design and implementation of a Microsoft .NET interface for ObjectStore, an object oriented database. The prototype allows .NET clients to access existing ObjectStore C++ database by generating .NET components that act as a proxy for the unmanaged, persistent C++ objects. The .NET proxy is created by a design time tool which reads the schema for an ObjectStore database. The proxy generator is written in unmanaged C++ and generates a combination of both managed and unmanaged C++. There is also a runtime component which maintains the client context and exposes the ObjectStore C++ API.
• Maintainance and enhancements on the following products: ObjectStore's .NET/COM interop (OSNCI) interface, ObjectStore's Active Toolkit interface, ObjectStore Inspector
• Design of the Progress .NET Open Client and implementation of the Progress .NET Open Client o4glrt runtime library. The o4glrt runtime is used by clients in a three-tier architecture. The o4glrt runtime library forms an interface between the Microsoft .NET CLR and Progress OpenEdge AppServers. The o4glrt runtime is written in C# and uses sockets to communicate to both Progress V9 & V10 AppServers. The o4glrt maintains the client context and transforms data between ADO.NET DataSets and Progress ProDataSets.
Sr. Software Engineer
NetAssets Corporation | Eugene, OR
August 2002 - February 2003
• Responsible for the implementation of a Web based application. The application is written in Java and uses Enhydra, XMLC, and MySQL.
Sr. Software Engineer
eXcelon Corporation (formerly Object Design Inc.) | Burlington, MA
February 1997 - January 2003
Responsibilities:
• Project Leader responsible for Design, Development, and Testing of Object Oriented Database systems, Transactional systems, and related tools. Product support and training.
Accomplishments:
• Project leader and designer of a middle-tier transactional caching system for COM+. The system contains an application server SDK which is the integration of ObjectStore Active-X (OSAX) and COM+.
• Project leader on C++ Middle Tier Library (CMTL) development team. CMTL is a middle tier C++ API for virtual transaction batching and data caching.
• Chief engineer of OSAX (ObjectStore Active-X interface). Implemented multiple ObjectStore session support to allow COM clients to take advantage of the multiple session capabilities of ObjectStore.
• Member of the software development team for ObjectStore (an object oriented database system). Design and implementation of engineering process and testing tools. Implemented a multi-threaded test harness to simulate and test the ObjectStore's multi-session capabilities. Development of benchmarking utilities for performance analysis of ObjectStore.
Sr. Software Engineer
CenterLine Software Inc. | Cambridge, MA
November 1994 - February 1997
Responsibilities:
• Design, Development, and Testing of Unix programming and testing tools. Product support and training.
Accomplishments:
• Member of the software development team for QC/Advantage. QC/Advantage is a software lifecycle test automation system that integrates, automates, and manages testing of complex network-centric applications. This system utilizes an object oriented test hierarchy for test suite development, parallel test execution, and a consolidated results browser. The system provides an open architecture to integrate with several leading industry programming and testing tools. This software system was implemented in C/C++. Details include the following:
Open System, Client/Server Architecture
X-Window and X-Toolkit Intrinsics
OSF/Motif graphical user interface
Oracle database integration
Sr. Software Engineer
Systems Research and Applications Corporation | Arlington, VA
March 1994 - July 1996
Responsibilities:
• Design & Development of major software systems.
• Computer systems technology investigation.
• Computer systems support and management.
Accomplishments:
• Member of the software development team for the USAF Combat Weather System (CWS). This project required the rehost of the existing Air Weather Distribution System (AWDS), integration of other weather software components, and provided several functional enhancements. The AWDS system component of CWS is a rehost from a Sun3 to a Sun4 environment. The rehosting effort included a translation layer to convert the GKS graphics primitives to XGL calls and GKS GUI to a OSF/Motif GUI. The software was implemented using the X-Library, X-Toolkit, OSF/Motif, and SUN C. Details include the following:
X-Window, X-Library and X-Toolkit Intrinsics
OSF/Motif graphical user interface
Rehost software translation layer
• Development of a C source code generator to modify the Motif callback and panel creation code generated by Builder Xcessory. This tool is used to map the GKS panel elements to the Motif widgets and callback functions. The software was implemented using the X-Library, X-Toolkit, OSF/Motif, and SUN C. Details include the following:
Code Generator for C source
Builder Xcessory Motif GUI builder
X-Window, X-Library and X-Toolkit Intrinsics
OSF/Motif graphical user interface
Translation of GKS graphical user interface
• Design and development of a X window system event loop to translate the GKS input events used by the AWDS code. This event loop contains the ability to journal and playback the X events and uses a imbedded XWD capability to perform automated regression testing of the CWS software. Design and development of an Xwd visual comparator to view a composite of two different Xwd files. The software was implemented using the X-Library, X-Toolkit, and SUN C. Details include the following:
X-Window, X-Library and X-Toolkit Intrinsics
X Event loop storage, processing & translation
Xwd Image storage & processing
Automated Regression Testing
Sr. Software Engineer
Raytheon Co. | Lexington, MA
June 1988 - March 1994
Responsibilities:
• Design & Development of manufacturing and engineering software systems.
• Computer systems technology investigation.
• Computer systems support and management.
• Member of corporate Factory Management System design team.
• Member of the Product Assurance Council, Advance Manufacturing Engineering Council, and Industrial Engineering Council.
Accomplishments:
• Member of Expert team for Raytheon's Factory Management System (FMS). This team consists of experts from each location in Raytheon's government group. As a member of the FMS team, I developed a detailed system specification and contributed to the design of the FMS system. This system included an enhanced 2nd generation paperless manufacturing system.
• Sole Designer and team developer of Raytheon's MhicMod Sub-Assembly information system. This was an 18 month project that provided an interactive paperless manufacturing system for Assembly, Inspection, and Test operators. The paperless display system uses 3D geometric modeling via the Programmers Hierarchical Interactive Graphics System (PHIGS). In addition, an engineering process modeler was developed to assist in the computer aided process planning and user instructions. The entire system was written using object oriented techniques in C on the VMS operating system. Details include the following:
X-Window, X-Library and X-Toolkit Intrinsics
OSF/Motif graphical user interface
Engineering process modeling
Manufacturing interactive paperless display
• Sole Designer and developer of a 3D graphical translator to convert CAD data into the Programmers Hierarchical Interactive Graphics System (PHIGS). This translator utilizes a common graphics output file format that allows for translation from more than one CAD source. The software is capable of translating both Pro/Engineer and Computer Vision solids. The software was implemented using DEC/PHIGS, X- Lib, X-Toolkit, and C. Details of this system include the following:
Phigs and Phigs Plus
3D graphics, geometric solid modeling
Hermite and B'ezier curves
NURB curves and surfaces
B-Spline curves and surfaces
surface trimming
geometric transformations
lighting, shading and viewing
• Sole designer and developer of Raytheon's PWA Inspection Information System. This software system is used to enhance manual inspections of Printed Wiring Assemblies. Details include: 2D geometric modeling, inspection data collection, inspection reports, and statistical quality control functions. System implemented in C, Fortran, VAX Macro. Inspection and engineering components runs on VAX/VMS system. Electronic data preparation, extraction, and data reporting runs on IBM 3090 (MVS) computer system. Details include the following:
IMS database interface
Factory floor information system
2D Geometric modeling
Graphical user interface
PWA tracking database (RMS)
QFACTS database interface
Manufacturing corrective action notification
Windowing system software
Software Engineer
Raytheon Co. | Lexington, MA
June 1984 - June 1988
Responsibilities:
• Design & Development of manufacturing and engineering software systems.
• Computer systems technology investigation.
• Computer systems support and management.
Accomplishments:
•
Designed and developed program to calculate probe placement for PWA circuit cards on in-circuit electrical test systems. This software reads the design database for surface mount circuit cards and determines the best probe placement for each node on the test system fixture. This software was developed in C on Consensys Unix system 5.
• Developed CAD translator to convert PWA information from SCICARD CAD system to HP3065 In-Circuit automatic test system. Details include: PWA topology, electrical test information, and engineering user interface. System implemented in Fortran under MVS on the IBM 3090 mainframe.
Developed engineering graphics software to display or printout manufacturing and quality control charts and reports. Software written in HP Basic on HP 9836.
References available upon request