Since 1983, I have designed and developed a variety of
applications and components for both Windows and Unix systems. This work has
included development of shrink-wrap applications, client-server applications,
server mid-tier components, ActiveX/COM/OLE components, and Windows services.
Professional Experience:
November 2003 – Present -- Atari/Humungous Entertainment
As a consultant Software Developer, used C++ to develop design tools
which are used to create 3D games. The tools included a world/level compositing
tool as well as asset conversion/conditioning tools. Responsible for
re-architecting the entire suite of tools in order to increase development and
maintainability. Also supported and added features to the proprietary game
engine that was the core of the studio’s games. This works was done in C++,
ATL, MFC, Sockets, and Renderware.
April 2003 – September 2003 -- Microsoft
As a consultant Software Developer, used C++ to develop an Internet
Explorer add-on to support Rights Management policies. Rights Management allows
users to set permissions on a per-document basis to control viewing, editing,
printing, etc. The Add-In will provide pre-Office 11 users with the ability to
view and manage Rights Managed documents. This work was done in C++, COM, ATL,
STL, HTML and Javascript.
Jan 1992- Present -- D-Cubed Software
CEO and Chief Architect for a custom software development/consulting
business. Used C++ to develop a variety of administrative tools/utilities for
small business clients. Additionally, most of the consultant jobs listed below
were performed under the auspices of D-Cubed Software.
March 1999 – September 2001 -- ZixIt.com
As a consultant Software Developer, used C++ to develop the client
portions of Zixit.com’s secure email product line: ZixMail and ZixSignature.
ZixMail and ZixSignature work together to allow a user to send secure digitally
signed and encrypted email. ZixMail and ZixSignature have a custom user
interface that contains a custom color scheme, bitmaps and drawings. Was lead
of the client team and was directly responsible for the C++ code that handled
client-server communication and encryption of the email. ZixIt products use a
proprietary implementation of a private/public key cryptographic system.
Sept. 1998 – Feb. 1999 -- Microsoft
As a consultant Software Developer, used C++ to develop mid-tier
components for web applications used to sell products online to customers and
resellers. One of the applications provided online sales to end-user customers,
another application provided for the purchasing of open licenses for small to
mid-size businesses. Additionally worked on the administration application to
maintain the underlying database for the above two applications. Spearheaded
the effort to incorporate early version of Passport into the shop.Microsoft.com
website. This work also involved the use of Visual InterDev, Active Server
Pages, HTML, Dynamic HTML, Javascript, SQL, and XML.
August 1997 – Sept. 1998 -- Concord Technologies
As a consultant Software Developer, developed C++ applications and tools
to support facsimile (fax) services. Concord provides Fax Mailbox, Fax
Broadcast, and other fax related services to its customers. Concord had
previously resold these services and was now providing these services in house.
Developed tools and applications to support this conversion and to supply the
end user with client software to interface with these services.
March 1997 – July 1997 -- Microsoft
As a consultant Software Developer, developed a C++ application to
support the development and construction of content for the Web version of
Encarta. This included parsing SGML text content into HTML layouts. The tool
was developed as an ISAPI application and utilized COM objects to encapsulate
the SQL Server connections.
January 1997 - March 1997 -- Exodus/Attune Software
As a consultant Software Developer, defined, designed and developed new
product line to enable users to cognitively organize URL bookmarks and to
collaboratively explore Web space.
December 1996 - January 1997 -- Microsoft
As a consultant Software Developer, developed additional features and
enhancements to the MS Manager product. This is an internal tool, which is used
to support the Sales, Marketing, and Support groups within Microsoft. Developed
originally in Visual Basic 3.0 and being ported to Visual Basic 5.0. Using SQL
Server and Access to store the data.
June 1996 - November 1996 -- SCS/Compute
As a Consultant Software/Systems Developer, designed and developed C++
service for the Tax Compute Plus+ project to provide sales/use tax for all
jurisdictions in the US. Developed COM component to provide interface between
Microsoft Merchant Server and the TaxCompute service on the web.
July 1995 - June 1996 -- Microsoft
As a Consultant Software/Systems Developer, developed C++ code for the
Merchant Electronic Retailing System (later became Commerce Server). Originally
targeted at Microsoft Network (MSN) and later moved to the World Wide Web.
Server elements were created as NT Services using COM objects.
June 1994 - July 1995 -- McCaw Cellular One/AT&T Wireless
As a Consultant Software/Systems Developer, developed C++ code for the
Axys Cellular Pricing system. Co-architected overall system flow of pricing
management for cellular traffic. Used C/C++ on NextStep workstations.
November 1993- June 1994 -- Microsoft
As a Consultant Support Engineer, provided technical support for
Microsoft's Visual Basic. Became an expert in the language and honed my skills
in debugging software and understanding requirements. Passed the Microsoft
Certification test for Visual Basic. Used Visual Basic, C, C++.
June 1991 - July, 1991 -- MerchenTec
As a Consultant, performed preliminary studies on the feasibility of
acquiring, modifying, and supporting Pacer ticketing equipment.
June 1990 - January 1991 -- Pacer Corporation
As a Consultant Software Engineer, developed software to allow
theater-ticketing systems to interface with MerchanTec credit card approval
equipment. Improved the efficiency of tracking and accounting aspects of the
system. Used C on an HP/Unix system and HP 64000 stations.
July 1989 - June 1990 -- Intermec
As a Software Engineer, developed embedded software for use with bar code
readers. Developed code to control the Base Radio Unit for the new Radio
network. Used C and Assembly (680x0 and 80x86) on Sun workstations and HP 64000
development stations.
September 1983 - July 1989 -- Boeing Systems Engineer: For
the first 1.5 years, I generated software requirements for the weapon system of
the B-1B bomber. This included integrating requirements of weapons with the
system, developing formal reviews, and generating proposals for system
improvements.
Software Engineer: Developed software for the Controls and Displays
system of the B-1B, generated a proposal for an advanced avionics system for a
fighter aircraft, and developed an interrupt-driven real-time executive on an
IBM-PC AT. Used Jovial, C, and several assembly languages including 8086/80286
on IBM 4370, IBM PC compatibles, and VAX machines.
Project Lead:
Led groups of 4 to 8 software engineers. This included scheduling work
assignments, estimating software sizing, and coordinating facilities and
resources for the group.
Education: Bachelor of Science in Electrical Engineering -- June,
1983
University of Washington
Seattle, WA
Grade Point Average: 3.46/4.00