GoalEmployment in software development commensurate with my experience, particularly an opportunity to apply recent developments in functional languages and embeddable scripting languages to complex problems; continuing to develop the depth and breadth of my understanding by solving real-world problems.
Summary of Qualifications
- Extensive experience developing software in C, C++, and a variety of other languages ranging from DSP and microprocessor assembly languages to scripting and functional languages
- Areas of special interest: embedded systems development; DSP firmware development; driver development; object-oriented design; graphical user interface design; digital audio; managing legacy code
- Deep and broad understanding of programming architectures, from embedded systems without operating systems to kernel drivers to applications, with development experience across the Macintosh, Windows, GNU/Linux, Java, embedded, and handheld ecosystems
- Technical communications (documentation, presentations, mentoring, and training)
- Experienced telecommuter with dedicated home office suite
Employment History2005-2013: Senior Software Engineer, Lectronix, Inc., Lansing, MI
- 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 (command-line and GUI tools); Visio; Graphviz; BOUML.
- 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.
- 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.
- Java development: improved, debugged, and extended a data-import process for commercial web applications, using refactoring methodologies
- Tools used: IBM VisualAge for Java; GNU/Linux; Oracle; JDBC; XML; Perl; CVS; Bugzilla; Visio; JVISION; TOAD; SQL; PostgreSQL; UML.
- 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.
- 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.
- Worked with faculty and instructional designers to develop instructional multimedia, from paper prototypes to finished programs, incorporating formal usability testing; produced and edited instructional video materials; taught ToolBook programming classes; wrote newsletter articles; performed evaluation and 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.
- Developed a Windows installer package for a commercial Excel plug-in using Installer VISE for Windows.
- Helped develop Monsanto’s prototype Infielder crop records system (an early Newton vertical market application).
- Developed an early prototype application for Windows for Pen Computing.
- Developed survey and report generation software for the National Science Teacher’s Association, targeting IBM PC and clone systems running MS-DOS, using Borland Object Windows Library (OWL) (C++) and Visual BASIC for MS-DOS.
- Wrote several published instructional articles on Macintosh and Newton development (Washington Apple Pi newsletter, MacTech magazine, and PIE Developer magazine).
Education1989: B.A., English and Computer Science, The College of Wooster, Wooster, OH
- Graduated with honors
- First prize, the Stephen R. Donaldson Prize for Fiction
- Worked with a mathematics faculty member to develop LimCon instructional program for teaching calculus concepts of limits and continuity, in HyperCard with custom XCMDs written in THINK C.
- Worked as a writing tutor, computer consultant, and WCWS-FM radio disk jockey and production manager.
- Completed a paid internship in which I developed software, newsletters, training courses, and a book on networking for Academic Computing Services.