My resumé as a professional software developer.

Specialties and Technologies

Strong advocate for XP practices including BDD/TDD (Unit Testing).

Extensive experience with Unit Testing frameworks and methodologies (cppunit, NUnit, JUnit, JSUnit, JsTest).

Personal experience in Web Based applications using HTML/JavaScript/CSS and Dart (Solitaire)

Personal experience using Java/Eclipse on multiple platforms (Android, Windows)

5 years real-time, multi-threaded middleware development work in C++/CLI and C#.

10+ years C#/.net/C++ CLI/Managed C++

14+ years C++/MFC/stl

3 years C++/VB/COM/ATL/ActiveX

25+ years Microsoft C/C++/Windows

Employment History

Apr 2013 to present, AeroVironment, Simi Valley, CA

Senior Software Engineer

Develop and maintain a suite of .net applications to display and interact with real-time video feeds from unmanned aircraft systems (drones).

Mentor programming staff in Test Driven Development methodologies.

Jan 2004 to Mar 2013 (9+ years), ITG, Culver City, CA

Consulting Architect (2009)

Promoted to Consulting Architect responsible for maintaining the middle-ware engine that drives the trading technology across the company product line. Most recent responsibilities include optimization of core library functions for thread-safe execution and optimization of .net plug-in framework.

Principle Software Engineer (2008)

Promoted to Principle Software Engineer working on a 20 person team that maintains the company's flagship MFC based front-end product used by traders. Also responsible for the .net plug-in framework that allows clients to interface with the front-end.

Senior Software Engineer (2004-2007)

Hired in Jan, 2004 as a Senior Software Engineer. Part of a four member team to design, code and test a C#/.NET based Plug-in technology that will form the core technology for current and future company products. Part of a 20 person team enhancing and maintaining the company's flagship MFC based product employing eXtreme Programming practices including Pair Programming, Unit testing, TDD short iteration cycles.

Aug 1997 to Sep 2003 (6 years) Computer Results, Thousand Oaks, CA

Senior Windows Programmer

Computer Results is a small independent software contract house with one major client. We were responsible for maintaining and enhancing our clients Print Engine library for Windows (Visual C++) and Mac (Codewarrior) forming the basis for many of their published products. I was responsible for all Windows based development including the maintenance, enhancement, re-factoring and redesign of the existing cross-platform C and C++ code base.

1988-1997 (9 years) Self-employed Contract/Game Developer, Vancouver, BC Canada

During this period of time I took on many small contracting projects for the PC in different fields. My main focus was a suite of shrink-wrapped card and board game products for a software publisher.

Other projects and technologies included: Windows Control Panel Applets, Multimedia Installation Application, Low Level Windows Audio Programming, Lotus Notes Fax/Tiff Printing, MS Access/ Jet Database Programming, RS232 Programming for Coin Operated Game Machines, Print Drivers for Ventura Publisher, Clipper, RBase and dbVista development.

VP Product Development, Theta System Corporation, Vancouver, BC, 11/86-08/88

Responsible for the design, development, implementation and packaging of the company's shrink-wrapped products for the PC. Main product was a DOS TSR based print preview program.

Systems Programmer, Seaboard Life Insurance Co., Vancouver, BC, 04/86-10/86

Responsible for maintaining the software and optimizing the performance of the company's mainframe and PC computers, establishing a nationwide communications network and became the de-facto PC hardware and software trouble-shooter.

Systems Analyst, Educational Research Institute of BC, Vancouver, BC, 09/84-03/86

Contributed to the design, development and maintenance of a CICS based WAN facility that offered real-time online driver testing in conjunction with the British Columbia Motor Vehicle Department.

Senior Programmer/Analyst, Educational Research Institute of BC, Vancouver, BC, 05/81-08/84

Responsible for all statistical analysis software to support the researcher's needs for both the mini-computer and PC platforms as well as programming a Card Mark Scanner to process student response forms. Tasked with porting, documenting and maintaining the company's statistical analysis software application (written in FORTRAN IV/77) from a remote IBM mainframe system to an in-house Wang mini-computer.


VSLive! Visual Studio Developers Conference, San Francisco, CA, 2004

VSLive! Visual Studio Developers Conference, Orlando, FL, 2001

Visual C++ Connections Conference, Scottsdale, AZ, 2000

Visual C++ Developers Conference, Anaheim, CA, 1999


B.Sc. Major in Computer Science, University of British Columbia, Vancouver, BC Canada, 1984


US Citizen, Thousand Oaks, CA, 91320