- Experienced engineering manager with strong technical skills and history and a demonstrated passion for understanding, developing, and communicating technology.
- Proven track record leading engineering teams, developing innovative products, and delivering on schedule.
- Exceptionally strong architectural leadership skills, both applied directly to a project and taught to project teams.
- Experience managing product development from inception through delivery.
- Strong software design, object design, and problem resolution skills.
| Professional Experience
|Adobe Systems Incorporated|
|San Jose, California|
|Senior Engineering Manager|
|October 2011 to present|
|March 2007 to October 2011|
|Senior Computer Scientist|
|June 2003 to March 2007||
- Built, led, and managed engineering team developing Flash runtime embedded in desktop applications
- Conceived of Flash-based runtime adapted to application embedding as a mechanism for easily and safely building application features and extensions
- Evangelized use of runtime for use in Adobe Creative Professional applications
- Resulting product ships in most Adobe professional and consumer desktop applications
- Developed initial version of embedded runtime solution, combining existing flash runtime code with novel application-interface pattern to deliver powerful runtime capabilities with relatively small application-adoption investment
- Expanded team to 7-10 development and quality engineers, worldwide, for significant expansion of runtime capabilities and integration with host application
- Coordinated between needs of downstream client teams and capabilities of upstream Flash Runtime team
- Drove resolution of key problems with and requests to the Flash Runtime observed by client teams
- Coordinated adoption and integration of more than thirty clients in a single product cycle
- Consulted and advised clients on integration, use, and debugging of the runtime embedded into their applications
- Drove design and implementation of native code extension mechanism, allowing ActionScript and native application code to actively collaborate with high performance
- Mentored individuals in runtime design, user interface engineering, and personal development
- Built, managed, and led engineering team developing Creative Professional User Interface
- Resulting product and user experience ships in Photoshop, Illustrator, InDesign, Flash, and other professional applications
- Co-invented extensible architecture to simultaneously permits user experience evolution and minimizes client integration cost.
- Drove engineering-designer collaboration to both push the bounds and respect the limits of implementation constraints and experience needs.
- Co-invented extensions to Creative Professional user experience permitting users to flexibly organize workspaces and customize them to specific workflows
- Grew engineering team from a collaborative pair to a small and efficient team of development and quality engineers
- Advised, consulted, and assisted client teams integrate the product and optimize it for their specific application framework and workflows
- Mentored individuals in software architecture, design, implementation personal development
- Advised and assisted individuals in continued professional development
- Drove adoption of dynamic user interface layout in After Effects CS2
- Adapted user interface layout engine to products’ application framework
- Integrated dynamic layout management into application architecture
- Re-authored existing explicit user interfaces for use by dynamic layout engine
- Developed and delivered training session to instruct application engineers in programming of layout engine, and in development and debugging of layout expressions
- Architect for multi-team project that developed distributed, object-oriented process control framework for semiconductor fabrication equipment.
- Defined architectural goals for multiple subsystems in areas ranging from driver architectures to wafer process recipe execution.
- Designed realtime I/O subsystem to support high-resolution sampling of process control hardware.
- Drove resolution of key design issues.
- Reviewed and approved designs developed by multiple engineering teams.
- Lead investigation and selection of distributed development environment to support concurrent development between thirty engineers.
- Mentored engineers in object design and layered architecture creation.
- Oversaw system integration and debugging of integration builds.
- Established engineering process for change control and build integration.
- Developed and executed integration plan for major milestone releases.
- Lead debugging efforts of integration builds. Problems included traditional cross-subsystem interaction errors, interaction between embedded realtime operating system and custom hardware, operating system errors, third party library errors, incorrect build procedures, and hardware bugs.
- Mentored engineers in system design, integration, and debugging.
- Lead technology presentations to customer engineers and senior management.
- Taught basics of object design, and framework design and use.
- Provided ongoing instruction on the architecture of our framework-based product and the process of building products based on that framework.
- Consulted with customer to leverage framework technology to achieve their business goals.
- Developed product plan to address the needs of customers for professional-grade, easy to use standard- and high-definition chroma matte equipment.
- Oversaw development of Primatte Explorer from inception through product delivery – product reviews published in January 2002 issues of Videography and TV Technology magazines.
- Lead investigation and selection of embedded realtime operating system.
- Drove resolution of key hardware and software issues.
- Managed contractors who designed rack mount enclosure and built finished units.
- Invented workflow-oriented user interface.
- Designed realtime software architecture.
- Lead team that developed software to support end-user and OEM access to Video Explorer 2, a realtime, professional video processing PCI card.
- Invented portable, object-oriented driver architecture.
- Managed development of drivers for MacOS, WindowsNT, Linux, and embedded operating systems.
- Oversaw development of basic QuickTime support.
- Managed team developing software development kit for MSICs, Intelligent Paradigm's realtime video processing chip.
- Lead team that designed and implemented dynamic video configuration software.
- Invented object-oriented architecture for dynamic hardware configuration in a direct manipulation environment.
- Designed object-oriented application infrastructure supporting a dynamic compiler at the heart of the software.
- Lead team that ported CommonPoint, Taligent’s object-oriented operating system, to MacOS microkernel.
- Designed architectures through which CommonPoint interfaced with MacOS.
- Developed relationships between Apple Computer and Taligent engineering groups necessary to complete the project.
- Lead team that ported CommonPoint to HP/UX.
- Designed HP/UX portability architecture for CommonPoint.
- Drove resolution of key technical issues and problems discovered during the porting process.
- Studied and planned architecture of system performance of CommonPoint.
- Drove investigations and analyses of system performance.
- Invented new architectures and changes to existing architectures to improve system performance.
- Championed design revisions to engineering teams to improve system and subsystem performance.
- Proposed and supervised experiments investigating the effects of design and implementation changes on system performance.
- Motivated individual engineers to implement performance improvements in their subsystems.
- Designed object-oriented event subsystem for CommonPoint, for which two US patents have been issued.
- Member of software team that developed medical instruments to perform semi-automated karyotypes.
- Designed object-oriented application framework and infrastructure.
- Assisted design of all subsystems in final product.
- Implemented direct manipulation karyotype editor.
- Designed extensible architecture to use photographic printers for final output.
- Implemented interfaces between image editor application and patient database.
- Developed hard copy output subsystem.
| Previous Experience
- Commissioned by Amoco Technology Company to develop software for practical application of image analysis techniques to biological problems.
- Developed MacModel, a molecular visualization and manipulation package, on commission from the Department of Chemical Sciences at the University of Illinois.
- Consultant in the areas of software, user interface, and computer program development.
- Created and documented prototype applications for biological imaging tools.
- Proficient in Java, SQL, Dylan, and SmallTalk.
- Expert in object-based design.
- Expert in modern real-time embedded software architecture.
- Expert in multi-threaded design and programming.
- Expert in MacOS and QNX RTOS programming.
- Expert in Win32 user interface programming.
- Proficient in POSIX and linux application programming.
- Expert in Flash programming, including Flash Player and Adobe AIR.
- Expert in Adobe Flex, MacApp, Raven, and PowerPlant application frameworks.
- Expert in MacOS, Linux, and QNX driver architectures.
||Bachelor of Science in Honors Biology. University of Illinois at Urbana-Champaign. May 1989.
United States Patent 5,713,045. “System for processing user events with input device entity associated with event producer which further links communication from event consumer to the event producer”. January 27, 1998.
United States Patent 5,615,326. “Object-oriented viewing framework having view grouping”. March 25, 1997.
“The Myth of Reusable Software.” Presentation delivered at Object World West ’93 (January 1993).
“Better Apple Event Coding Through Objects.” develop: The Apple Technical Journal. (Apple Computer, Inc. December 1992). Reprinted as a chapter in Ultimate Mac Programming. Dave Mark. IDG Books. 1994.
“The Grand Unified Theory: Apple Events, the Object Model, and MacApp.” Presentation delivered at MADACON ’92 (March 1992). Presentation delivered at BAMADA (April 1992).
Contributing editor. FrameWorks: The Journal of Macintosh Object Program Development. Author of “The Soup Kitchen,” a column in FrameWorks. (MacApp Developers’ Association, April 1991 through August 1992).