8/2002 - present |
| Employer: |
Volpe National Transportation Systems Center,
Cambridge, MA
|
| Job Title: |
Information Systems Specialist (Senior Software Engineer) |
| Focus: |
C/C++, Linux/Unix (Solaris), Windows/MFC, TCP/IP networking,
Network administration, Java
|
Detail:

|
Developed new and maintained existing software in C/C++ and Java
on the Linux, Solaris, and Windows platforms for various Federal
Aviation Administration (FAA) programs.
-
Maintained a prototype airport surface surveillance system for
the FAAs Safe Flight 21 program. The system fused data from
multiple sources (including ASDE-X multilateration, secondary
radar, flight plan database, and aircraft transponders) to
generate a live, real-time "picture" of the local air traffic
situation showing all aircraft and their position, identifying
information, track/heading and velocity.
-
Developed and maintained a TCP/IP-based data distribution
server application with content-based filtering.
-
Developed software to control an ADS-B radio receiver, decode
data, and serve to clients.
-
Developed data analysis software for the FAAs Runway Status
Lights program, to aid a study tasked with determining where
and how many new runway status lights should be installed at
several dozen of the nation's top airports. Also developed
functional verification software to verify the correct
operation of the Runway Status Lights system.
-
Developed a cross-platform utility library for Solaris,
Linux, and Windows.
-
Maintained and administered multiple distributed TCP/IP networks
(including Ethernet-based LANs and T1 circuits) and network equipment
(Cisco routers and managed switches) linking remote sites to supply
realtime airport surveillance data to clients.
-
Developed a prototype 2D map projection application in Java
for displaying 2D airport maps.
-
Developed numerous console- and GUI-based tools for
monitoring and troubleshooting live systems.
-
Shared responsibility for establishing a software version
and configuration management system.
-
Shared responsibility for managing a file/print server
for a working group and assisted the group with general
IT issues.
-
Performed work from the local office, home office, and at
remote client sites in secure airport installations (air
traffic control towers, etc.).
|
|
|
1/1997 - 10/2001 |
| Employer: |
Foliage Software Systems, Inc., Burlington, MA
|
| Job Title: |
Senior Software Engineer |
| Focus: |
C++, MFC, COM, ATL, STL, UML, C, XML, HTML, ASP, JavaScript,
CORBA, Windows (Win32: NT, 2000), UNIX (SunOS, Solaris), Motif,
VxWorks, MercuryOS, TI C3x/C4x DSP, MS SourceSafe, RCS, IMAKE
|
Detail:

|
Participated in multiple client projects encompassing extensive
software design and development work on a broad array of
technologies and products, both individually and as a team
member, with a strong emphasis on object-oriented
methodologies. Summary of projects worked on:
-
Enhanced the control software for a commercial ion
implantation system. Enhancements ranged from improvements to
the advanced robotic wafer handling system which significantly
reduced accidental wafer breakage (potentially saving end-users
thousands of dollars per incident) to user interface extensions
that enabled secure remote access to recipe editing facilities
(and others), allowing end-users to optimize their access to
system resources. Developed software in C for a VxWorks and
SunOS/Motif environment.
-
Participated in a proof-of-concept project to design and
develop enhancements to a set of deployed commercial electron
beam lithography systems. Used an object-oriented design
process and developed software using C++ and COM to
simultaneously run on Windows NT, Solaris, and a bank of
parallel processors running MercuryOS.
-
Designed and developed an object-oriented, distributed
control system framework for a commercial electron beam
lithography system. The system manufacturer used the framework
to develop their next-generation lithography system in C++,
saving them a great deal of development time and enabling them
to rescue a badly slipped development schedule to deliver their
new product on time and on budget. Used an object-oriented
design process, including UML modeling, and implemented the
design in C++ using STL and CORBA. Developed a multi-platform
build tool using IMAKE that supported Solaris, Windows NT,
and VxWorks.
-
Designed and developed embedded avionics software, including
a primary flight display and a navigation display, for a small
aircraft. Software was developed to DO-178B Level B guidelines
and received FAA certification. Utilized an object-oriented
design process, including extensive UML modeling. Designed and
developed an OO framework in a C environment which provided
C++-like functionality, including inheritance and true
polymorphism, and allowed the team to quickly translate the OO
design into C code for a timely delivery to the client.
Applications ran in a custom embedded environment on a TI C3x /
C4x DSP, cross-compiled and emulated from Windows NT.
-
Designed and developed medical software for a blood testing
application. The software was considered a "process control"
application because it only partially controlled the hardware
environment while primarily intending to interactively guide a
human operator through all the steps of the testing process, as
well as computing and storing the final results. Developed a
custom GUI using Visual C++ and MFC to run in a Windows 2000
environment. Also developed several major system components.
-
Enhanced the control software for an advanced digital
jukebox. Developed software in C++ and JavaScript/ASP/DHTML,
for a Windows 2000 and COM+ environment, using ATL, STL,
and MFC. Designed and developed an event logging system which
was implemented as a COM component, wrote log files in XML
format to enhance machine readability, and accepted queries
from Active Server Pages (ASP) to which it responded with
XML-formatted event data. Designed and developed a simulator for a
custom HTTP server which acted as the interface to a remote,
proprietary song database used to automatically populate
jukeboxes in the field (restaurants, bars, etc.). Enhanced the
XML processing components of the jukebox configuration
management sub-system to use multiple, overlaid XML files that
allowed new factory configuration data to be introduced into an
end-user installation while preserving site-specific settings
when possible. Made enhancements to the web browser-based GUI.
|
|
|
10/1994 - 12/1996 |
| Employer: |
National Datacomputer, Inc., Billerica, MA
|
| Job Title: |
Senior Software Engineer |
| Focus: |
C, C++, 80x86 assembler, MS-DOS, DPMI, Windows, Novell NetWare, RCS |
Detail:

|
Developed new and maintained existing software in C and
assembler for a PC-based, hand-held computer, with a
concentration on user interface facilities. Designed and
developed an advanced full-screen editor for proprietary
database files, written in C++ for an MS-DOS/DPMI
environment, which enabled customer support personnel to work
more efficiently and reliably. Designed and maintained
adaptable software build procedures for an MS-DOS environment.
|
|
|
7/1992 - 10/1994 |
| Employer: |
Practice Management Systems, Inc., Needham, MA
|
| Job Title: |
Software Engineer |
| Focus: |
BASIC, C, C++, 80x86 assembler, MS-DOS, Novell NetWare |
Detail:

|
Developed new and maintained existing software for electronic
medical insurance claim submission and medical billing. Wrote
MS-DOS programs using MS-BASIC PDS and Borland C/C++,
including network support for Novell networks using Novell
NetWare API. Developed user interfaces, function libraries,
and toolbox interfaces. Developed telecommunication software
for claims submissions over proprietary networks using Borland
C/C++ and Greenleaf communications library, and
telecommunication scripts using ProComm Plus and other
communications software packages. Wrote numerous tools and
utilities including a note-taker application, used by
telephone operators, that is capable of routing messages over a
Novell Network to any printer, allowing customer service calls
to be handled more efficiently.
|
|
|
3/1992 - 5/1992 |
| Employer: |
Interactive MicroSystems, Inc., Salem, NH
|
| Job Title: |
Programmer/Consultant (short-term contract) |
| Focus: |
C, 68000 assembler, Commodore Amiga |
Detail:

|
Developed new and enhanced existing video editing and
controller software to control video editing decks and process
"edit-decision lists." Developed a software library to load
and display computer animations and still pictures
transparently from multiple graphics storage formats.
Integrated software with an external, commercial scripting
language (Arexx). Software was written using C and 68000
assembler for the Commodore Amiga.
|
|
|
6/1989 - 3/1992 |
| Employer: |
Theta Systems, Inc., Woburn, MA
|
| Job Title: |
Software Engineer |
| Focus: |
C, 68000 assembler, Commodore Amiga/CDTV, VAX/VMS, VAX MACRO, MS-DOS |
Detail:

|
Designed and developed CD-ROM-based, interactive multimedia
software in C and 68000 assembler for the Commodore Amiga and
Commodore CDTV, including the CDTV Welcome Disk, a product
which was distributed worldwide with the CDTV player. Assumed
responsibility for the Welcome Disc project under crisis
circumstances: numerous outstanding changes and a very limited
time budget. Converted the application into a script-based
multimedia engine which allowed all changes to be completed
before an important deadline. This also made the software
usable for several other applications, saving the client a
great deal of additional development effort. Co-authored the
official developer's guidelines for CDTV, defining the proper
behavior of CDTV applications and the standard user interface
look and feel for the CDTV development community, accompanied
by example programs and code libraries to demonstrate the
principals described within. Designed and developed
telecommunications software using C for the Commodore Amiga and
VAX/VMS. Designed and developed IPC software for VAX/VMS
in C and VAX MACRO. Designed and developed object-oriented
drawing software using C for the Commodore Amiga. Researched
and developed OOP methodologies as well as software coding
techniques to make programs easily portable between different
operating environments such as VMS, Amiga, and MS-DOS.
Received some exposure to Macintosh and UNIX.
|
|
|
10/1988 - 5/1989 |
| Employer: |
Viking Technologies, Inc., Middletown, RI
|
| Job Title: |
Managing Editor/Programmer |
| Focus: |
C, BASIC, 6502 assembler, Commodore 64/128/Amiga, MS-DOS |
Detail:

|
Produced the Commodore 64/128 edition of UpTime, a monthly,
computer-oriented, diskette-based periodical. Responsibilities
included: planning future issues; making editorial assignments;
writing and editing articles and programs; working with an
artist to procure artwork for publication; assembling the final
product; managing a network of beta testers; and maintaining a
monthly budget for all activities. Assisted in the startup of
an Amiga edition and programmed for the Amiga and the IBM-PC
editions. Developed hypertext authoring and presentation
software on the IBM-PC.
|
|
|
1/1987 - 11/1989 |
| Employer: |
Applied Innovations, Inc., Wakefield, RI
|
| Job Title: |
Software Engineer (part time from 10/88 through 11/89) |
| Focus: |
BASIC, C, Turbo Pascal, MS-DOS, PVCS |
Detail:

|
Developed new and maintained existing MS-DOS software for
psychological testing and medical billing using Turbo C, Turbo
Pascal, 80x86 assembler, and QuickBASIC. Conceived, proposed,
designed and developed a new system in Turbo Pascal to generate
printed medical insurance claim forms utilizing a full-screen
editor and separate printing software. This software
drastically expedited support for new claim forms, generating
notable customer satisfaction and significant new income for
the company. Managed company-wide software version control
using PVCS. Continued working part-time on a consulting basis
for one year after departing the company in November, 1988.
|
|
|
3/1984 - 3/1987 |
| Employer: |
M.E.M.O. Computer User's Group, Fall River, MA
|
| Job Title: |
Librarian (elected 3 terms) |
| Focus: |
BASIC, 6502 assembler, Commodore 64 |
Detail:

|
Produced a monthly club diskette containing public domain
programs for the Commodore 64 computer and presented it at
public meetings. Organized and taught club-sponsored
programming classes in BASIC and 6502 assembly language
programming.
|
|