Programming Languages: Java, C++, C, C#, Perl, Lisp, Unix Shell.
Database Technologies: Oracle 8i, SQL, JDBC, SQL*Plus.
GUI Toolkits: Java Swing, Qt, Motif/X-Windows, GTK+/Gnome, Windows Forms/.NET.
Development Environments and Tools: Linux, Solaris, SCO Unix, UML, XMLSpy, CVS, Eclipse IDE.
Professional Roles: technical lead, product developer, consultant, course developer, instructor.
Senior Principal Software Engineer
Developed ground software systems for NASA's Kepler mission to
discover extrasolar planets.
Gathered and formalized system requirements. Modeled system behavior using UML, particularly activity and sequence diagrams.
Developed in Java a prototype data pipeline to validate system
architecture and data modeling.
May 2003-December 2003
Developed new features for Web based GUI of network hardware product,
Was able to make productive contributions immediately by
learning existing codebase quickly and without supervision,
April 2003-April 2003
Rapidly developed a prototype client/server application using
C#/.NET on Windows for the client and Java on Linux for the server.
Evaluated and recommended message bus software to use in the product.
Senior Software Engineer
Aztec Wireless Technologies
February 2002-February 2003
Led technical team developing wireless network application, coordinated server and client development.
Created an XML based language for page layout on handheld devices.
Developed a GUI application based on that language in C++ using the Qt Embedded toolkit.
August 1998-July 2001
Developed servlet based applications for customers using the Lutris Enhydra application server, server-side Java, Oracle and JDBC.
Served as technical lead on several projects, working closely with customers on design and implementation.
Consistently met aggressive project deadlines with quality code.
Employed 3-tier architecture to separate business logic from data and presentation layers.
Created and maintained test suites for Lutris's J2EE application server.
Flying Duck Computer
June 1996-April 1998
Developed and supported custom applications for
the billing center of a major telephone company.
Worked with the customer to discover and formalize their business processes
as part of requirements gathering.
June 1995-June 1996
Designed and prototyped a new Motif GUI for a large data backup/restore
software product, using the UIM/X interface builder.
Santa Cruz Operation, Inc.
July 1988-June 1995
Developed X Windows clients, including a text editor and an email application, using the Motif toolkit.
- Helped design and develop a character-based office automation product, programming in C with the curses toolkit. Rewrote the email component of the product.
Tracked email standards to ensure application compliance.
Served as technical lead for a maintenance release of the product, supervising and mentoring a junior engineer.
Participated in all phases of product development, from design through release.
- Administered SCO Unix, Xenix and Open Desktop systems used in development.
September 1985-June 1988
Designed, implemented and tested
expert systems applications using Syntel, a proprietary Lisp-based language.
- Extended the programming environment by developing
Lisp tools and utility functions.
- Prepared and presented training courses
on programming in Syntel.
- BA in Computer Science and Cognitive Science, June 1985
University of California at San Diego
Volunteer with the Open Directory Project as a meta-editor; contribute to the XML Resume project; research and maintain the Blue Grass Boys website; play bluegrass mandolin; enjoy playing soccer and softball.