Senior Software Engineer, 2005 - 2013
Developed server code to integrate the Garmin GVN-52 navigation product with the Navion R5000 RV Infotainment system; developed server code to manage audio and discrete I/O control in multiple products; developed driver code for TI SAA7709 DSP and TI TLV320AIC3201 audio CODEC for the Lectronix T7000 heavy truck system; wrote driver and firmware for the TI TMS320C6727 DSP for use in the Rockwell-Collins iForce system. Tools used: TI Code Composer Studio; Spectrum Digital XDS510 USB JTAG Emulator; QNX Momentics IDE; Microsoft Visual C++; GNU/Linux; Python; Haskell; TWiki; Mantis; Subversion; Visio; Graphviz; BOUML.
Senior Software Engineer, 2005 - 2005
Tested a Sirius satellite radio receiver (SDARS/RDAR) working at Visteon in Dearborn, MI for PAG (Premiere Automotive Group). As lead technical writer and editor, developed extensive documentation for a library of Delphi’s embedded C code. Tools used: MicroMax MxVDev; Microsoft Visual Basic (Visual Studio .NET IDE); Microsoft Visual C++; Ruby; Understand for C/C++; QA-C; Oasis Optolyzer; Rational ClearCase and ClearQuest; Microsoft Word; Visio.
Aardvark Computer Systems
Software Developer, 2001 - 2004
Developed the MacOS X PCI card kernel driver for Aardvark audio cards; developed Qt-based cross-platform GUI control panel for the flagship Direct Pro Q10 product; completely rewrote MacOS 9 drivers for Aardvark audio cards; rewrote, debugged, and optimized firmware (using C and assembly language) for the Motorola 56301 DSP. Tools used: Cygwin; Motorola DSP compilers; Link-56K serial DSP debugger; Hewlett-Packard logic analyzer; Metrowerks CodeWarrior; Onyx Spotlight; Python; Gwydion Dylan; CVS; ViewCVS; Installer VISE; Project Builder (now XCode); Qt GUI framework.
InterConnect of Ann Arbor, Inc.
Senior Consultant, 2000 - 2001
ava development: improved, debugged, and extended a data-import process for commercial web applications, using refactoring methodologies. Developed Java code to populate hierarchies of search terms extracted from MARC records, including Library of Congress subject headings, and to "clean" this data for display and generation of accurate hit counts. Wrote white papers and technical reports and presented these to clients. Tools used: IBM VisualAge for Java; GNU/Linux; Oracle; JDBC; XML; Perl; CVS; Bugzilla; Visio; JVISION; TOAD; SQL; PostgreSQL; UML.
University of Michigan Health System
Systems Research Programmer III, 1996 - 2000
Led technical aspects of Health Media Research Lab during early growth; recruited, interviewed, supervised, trained, and evaluated technical staff; developed a survey engine for the Apple Newton; led port of this survey engine to Apple WebObjects using Java and GNU Kawa (Scheme); led development of interactive multimedia program on Cancer and Genetics, integrating the work of graphic designers and writers; co-developed an application to generate tailored health information booklets using color laser printers; co-designed internal QA process; gave presentations on software development topics including user interface design, XML, and dynamic languages. Tools used: Macromedia Director; Adobe Photoshop; Quark XPress; TestTrack; Newton Toolkit; CodeWarrior (C++); AppleScript; Visual BASIC; Perl; Scheme (GNU Kawa); Java; XML; WebObjects; UML.
Software Developer, 1994 - 1995
Co-developed a CD-ROM business directory with a custom search engine, user interface, and compression algorithms; developed prototype Apple Newton and Macintosh applications; developed early commercial web sites using HTML and Perl CGI scripts. Tools used: Visual C++ 1.5; CodeWarrior; MKS RCS; HTML; PGP; Perl; Newton Toolkit.
University of Michigan
Software Designer, 1991 - 1993
Worked with faculty and instructional designers to develop instructional multimedia, from paper prototypes to finished programs, performing formal usability testing; shot and edited instructional video materials; taught ToolBook programming; wrote articles; performed pre-release testing of Windows 3.0, Macintosh System 7.0, IBM OS/2, QuickTime, and other technologies. Completed projects include a simulation of an audiometer, a videodisc-based program for teaching side effects of antipsychotic medications and the Velocity Manufacturing Corporation case study, which won a New Media INVISION silver medal in 1994. Tools used: HyperCard; SuperCard; THINK C; THINK Class Library; ToolBook; Visual BASIC.