C# & VB.Net
OOD / OOP
Windows 2000 & XP
Initiative / Self-Starter
Multitasking & Meeting Deadlines
Software Development Methodology
Microsoft SQL Server
HTML, CSS, XML
Client / Server
Macintosh OS 9 & 10
- XML Code Generator
This development tool generates source code for the C# or VB.Net classes
that correspond to XML entities, providing a more typesafe and extensible
set of business classes than can be obtained by direct use of DOM.
The specification file that defines the XML structure can also be used
to customize an XML editor.
- Database Code Generator
This development tool generates source code for the C# or VB.Net class that
represent database tables and records, along with SQL stored procedures to
support database access methods. Enables rapid development of database applications.
Personally responsible for conception, design, implementation, documentation, and support.
31k lines of VB.Net code.
- Film Cut List Tool
A major component of Avid Technology's Media Composer family of professional
video editing software, the Film Cut List Tool generates instructions for
(human) film negative cutters. Film cutting is a destructive process,
so the generated cut lists must be absolutely accurate and correct.
Work included customer collaboration, architecture, UI design, design
of complex data analysis algorithms, implementation, and testing.
Personally responsible for writing & maintaining 75k lines of
cross-platform C++ code (Windows & Macintosh).
A second-generation test automation system for Avid Technology's Media Composer
family of professional video editing software. 60k lines of Java, with some C++
in the application under test. Features included:
- automated testing of a large & complex GUI application
- remote testing of multiple target machines over TCP/IP using custom OO/RPC mechanism
- multi-platform support: Windows, Macintosh OS 9, Macintosh OS 10 (Unix)
- automatic execution of tests against nightly builds
- database of test results
- complete documentation of testing API and test scripts
- Music Database
A networked Windows database application for organizing music files of various types,
including audio, MIDI, scores, and lyrics.
Personally responsible for conception, design, implementation, documentation, and support. 50k lines of hand-coded C# and VB.Net code, with another 40k lines of generated VB.Net and SQL code.
- Database objects include File, Track, Album, Piece, Person (artist), Group, Playlist, Category.
- Central database and audio files are available to any machine on a LAN.
- Static or dynamically-generated play lists, with various kinds of randomization.
- Remote control of players on other machines.
- Unlimited user-definable categories.
- Rich UI optimizes common tasks; ubiquitous drag-and-drop for establishing relationships.
|WSI, Inc., Andover, MA
Principal Software Engineer & Team Lead
- Architected, designed, implemented, and maintained a test automation system in C#
for a large real-time multimedia application written in C# and C++.
- C# testing API
- interactive and batch-mode test harnesses
- XML schema for test logs
- automatic scheduled test execution
- complete documentation
- SQL database containing builds, automated test results, performance data,
manual test results, and test schedules
- web site for controlling and monitoring test automation, and reporting test results
- Designed, implemented and maintained a variety of tools to aid both development
and QA, including:
- a WinForms app for viewing and analyzing
application log data, featuring a zoomable multi-track timeline
- a configurable system performance monitor, optimized for the application under test
- Collaborated with developers on various improvements to the C++/C# Applications
under development, including:
- remote control capability, tied into both WinForms and WPF GUIs
- standardized logging of application errors and debugging events
|Allscripts, Inc., Burlington, VT
- Designed and implemented components of a medical database system under severe
- Designed and implemented a set of standard UI controls for use throughout
a large WinForms application.
- Technologies included C#, Visual Studio 2005 (.Net 2.0),
|Green Mountain Logic, Montpelier, VT
- Maintained & enhanced a distributed medical results management system.
- Technologies included C#, VB.Net, C++, VB6, Java, SQL, COM+, InstallShield, multithreading.
|Retail Vision, Inc., Middlebury VT
- Designed and implemented components of a .Net database system for a
magazine distribution business.
- Work included front end (UI), back end, stored procedures, and automated unit tests.
- Designed & implemented a code generator for automatically generating
sophisticated database access classes in C# or VB.Net and associated stored procedures.
- Technologies included VB .Net, C# .Net, SQL, remote objects, and multithreading.
|Avid Technology, Tewksbury MA
Satin (2nd-generation test automation system; see Softography)
Feature Tree Manager
(system for tracking test coverage by product feature)
- Provided technical leadership and mentoring to a team of 8-10 engineers.
- Evaluated commercial Java courses and selected one for team training.
- Designed, implemented and documented an MFC C++ application
for entering and viewing test results, organized by product
feature using a combination of hierarchical (tree) and table
views. Used Microsoft SQL database for storing test results.
- Patent application initiated.
- Architected Avidís first test automation system using Segueís
QA Partner (Silk) on the Macintosh.
- Established and maintained standards for software development.
- Led and mentored automation team that grew to 10 people.
- Wrote interactive web-based training curriculum for QAP and
in-house automation APIís.
- Documented all 4Test APIís on intranet web site.
- Ported test automation system from Macintosh to Windows NT
and maintained cross-platform automation code base.
- Helped design SQL database for storing automated test results.
- Oversaw test automation effort through a dozen major product
|Compuware Corp. / NuMega Lab, Nashua NH
- Developed an outline-oriented spreadsheet tool in C#.Net for
planning and tracking testing based on product features.
|Wang Laboratories, Lowell MA
Principal Software Engineer
- Led a project team of 6 people in the development of a
collection of several dozen general-purpose C libraries for supporting
the development of portable applications on a variety of
platforms, including MS-DOS, OS/2, UNIX, Wang VS.
- Managed all aspects of the entire software lifecycle,
including: requirements analysis, design, implementation,
QA, performance analysis, documentation, maintenance, source
and release control.
- Coordinated development of C libraries company-wide;
instituted corporate standards for C libraries.
- Awarded highest rating - "outstanding" - on several
Yale University - B.S. in Computer Science