Gavin Doughtie's Online Resume


Write hard code for fun projects. Work with cool people who are smarter than me. Build the future I want to live in.


Object-Oriented Design and Programming, Agile Methods (XP/Scrum), C/C++, Python, Ruby (on Rails), Javascript (AJAX), Java, Smalltalk, COM, ActiveX, MFC, MySQL, Oracle, 4th Dimension, VRML/X3D, Java3D, JavaScript, CSS, XML, XSLT, HTML, Windows (3.x, 95, NT, 2000), Mac, Unix (Linux), PhotoShop, 3D Modeling and Animation


2003 - Present
Los Angeles, CA
Multiple development projects throughout the studio, including:
  • Interactive character rigging tools

    A C++ application for defining skeletal motion systems for CG characters, then applying those systems to a series of surface deformation systems. I developed most of the user interface subsystems, including a lightweight workflow engine and declarative UI APIs that dynamically loaded plugins could use to insert their functionality into the main UI.

  • C++ X-Windows GUI Widget Toolkit

    Wrote modern declarative C++ APIs atop the existing C-interface widget toolkit to provide more dynamic user-interface capabilities.

  • Asset Explorer

    Maintained and enhanced DreamWorks' internal content management system.

  • Recordtime

    Internal time-tracking application. Modern web app using XML/XSLT, mod_python, and a lot of DOM manipulation for a high degree of interactivity.

  • Take ID

    C++ library with Perl and Python bindings (via SWIG) for database-backed MD5 fingerprinting of rendered frames.

  • Render Request

    XUL user interface for managing jobs on the render farm.

2002 - 2003
Silver Platter Software
Los Angeles, CA
Part of a small, intensively XP team working on securely distributing game simulation for massively multiplayer online games. Worked on all aspects of the "Alloy" middleware product including test-driven C++ development, C-language wrapper API development, demo game development, and live demos at GDC 2003.
Los Angeles, CA
Worked on several major subsystems of Picasa, an image-management application for Windows, now owned by Google.
  • Templated web export system
  • Generic property management database
  • Text-indexing and query system
  • Automatic online update system
  • Various user preference and settings dialogs (Windows SDK)
Herf Consulting, LLC
Los Angeles, CA
Numerous development projects for various clients including a prototype multiuser 3D system for Viewpoint
2001 - 2002
Pasadena, CA
Created inbound email-handling framework so users could participate in web-based discussion forums and document management via email messages. Implemented framework for sending rfc2445-compliant calendar update messages. Designed lightweight applet widgets, chat server and client. Designed relational database tables for persistence in Oracle 8i.
Game Developer
Sony Online Entertainment
San Diego, CA
Implemented the multiplayer card game "Ninety Nine." Game features game AIs, customizable computer player personalities, persistent player scores database, animations and more. Participated in initial design of game client engine used in all subsequent casual games at this site.
Director of Development
Pasadena, CA
Contributed to product and business design of the PSquared knowledge management toolset, established development and hiring practices, prototyped and implemented client and server-based information management applications.
1999 - 2001
Senior Software Developer
Pasadena, CA
  • Developed Java chat client applet and extended functionality of C-based Linux server.
  • Developed online bartering application using Java/JSP for (now
  • Developed full ecommerce application and infrastructure in Java/JSP against a relational model for Site included custom JDBC wrapper class generation from live schema, event logging subsystem and JSP templated automatic email system.
  • Developed disk-based C++ full-text indexing system using Berkeley DB
  • Wrote email data extraction layers in Outlook automation and MAPI
  • Developed C++ utility objects for manipulating registry entries with the same semantics as ordinary variables.
  • Wrote logging and reporting system for analyzing relative popularity of prototype features.
1995 - 1999
Enfish Technology, Inc.
Pasadena, CA
  • Built a very high-performance persistent object store which is thread safe, crash safe, and capable of saving and retreiving thousands of variable-length records at subsecond speeds. Developed patent application for freespace management techniques used.
  • Created custom UI controls using ATL and MFC.
  • Developed high-performance text indexing system in C++
  • Developed STL-compliant template collection classes
  • Demonstrated Enfish Tracker Pro in its public debut at PC Expo 98.
  • Developed style-sheet driven HTML export system for an object-oriented multimedia database, including rich text and image conversion.
  • Wrote large portions of the functional specification of Enfish's first shipping product.
  • Built and deployed proprietary configuration management software.
  • Developed translation tools that converted proprietary configuration system to use the standardized Team/V - PVCS system.
  • Implemented daily automated product build process for all versions of the configuration management software.
  • Interviewed job candidates
  • Prototyped new products using Visual Basic to test and identify COM interfaces and ActiveX components
  • Created product installer with InstallShield
  • Created lightweight application launcher using only the Windows SDK and a rusty C compiler.
  • Designed and built internal LAN using NT Server; registered Internet domain name; established routing between LAN and the Internet; set up a POP3/SMTP based email system; pulled cable, installed NICs, flipped DIP switches, taught myself Smalltalk so I could work as a developer instead.

1996 - 2004
President and Founder
Los Angeles, CA

Founded the Los Angeles Java Users' Group in April, 1996, as a forum for area Java developers to learn more about emerging tools and technologies. Still serve as president and emcee. Vendor speakers have included Sun, Microsoft and Computer Sciences Corporation. Personally presented tutorials on creating custom components and scripting VRML with Java.
Guest Lecturer
Los Angeles, CA
Lectured on Object-Oriented Design fundamentals for the "Bleeding-Edge Java" class.
Database Applications Consultant
Tanner Research
Pasadena, CA
Optimized, redesigned and debugged a mission-critical legacy database system. Assisted in the selection of a new database developer.
Database Applications Consultant
Hughes Space and Communications
El Segundo, CA
Completed development of client portions of the Enterprise Scheduling System (ESS), a facilities and project-management system that reduced unneccessary facilities staffing by up to 50%.
Louis L'Amour Enterprises
Los Angeles, CA

  • Developed custom database for managing the 12,000+ volume library collected by late western writer Louis L'Amour.
  • Developed database for tracking biographical data on Louis' life for a massive research project. Developed an object-oriented framework for more maintainable code.
Montgomery-Watson Consulting Engineers, Inc.
Pasadena, CA
  • Developed and managed client-server database to manage corporate client lists using inexpensive Mac-based hardware and software - deployed over nationwide WAN
Symantec, Peter Norton Group
Santa Monica, CA

  • Provided technical support for Norton Utilities and Norton AntiVirus during the Michaelangelo virus crisis.
  • Provided corporate-level support for AntiVirus and Norton Utilities for Macintosh.
Inherit the Earth Technologies
Los Angeles, CA
  • Created extensive writing tools and user interface code for SuperScript, a WordPerfect add-in product for screenwriters.


University of Southern California
Los Angeles
BA, Cinema-Television Production
  • Wrote and directed a bunch of student films, including the award-winning "Street Acts"

Google Says...

Back to Gavin Doughtie's Home Page