
Principal Member of Technical Staff at Salesforce.com
San Francisco Bay Area

Principal Member of Technical Staff at Salesforce.com
San Francisco Bay Area
Software architect, researcher, and developer. Twenty years of experience in both academic research and industry, with a focus on innovation. Ph.D. from Carnegie Mellon University specializing in programming language design and semantics, automated program analysis, and compilers. Recipient of NSF CAREER award. Broad industry experience with deep focus on computer graphics and cloud computing. I especially enjoy algorithm design, optimization, API design, and system architecture. Many peer-reviewed publications and invited talks.
algorithms, functional languages, compilers, computer graphics, cloud computing, SaaS
(Public Company; CRM; Computer Software industry)
January 2009 — Present (11 months)
I'm working on the Force.com platform, which allows folks to develop their own custom apps in the salesforce.com cloud. I'm currently focused on Apex Code, the programming language that allows developers to write code and run it on salesforce.com servers.
(Privately Held; Wireless industry)
March 2007 — January 2009 (1 year 11 months)
MobiTV provides a platform for content delivery to end users over mobile and broadband networks, including live television, video on demand, premium content, satellite radio, and music, interfacing with hundreds of content providers, broadcast and cable television networks, and major music labels, with over 6 million paid subscribers across multiple carrier networks.
I worked in the CTO's office. My job was to understand the strategic, technical, and intellectual property aspects of forward-looking projects, to architect and design technical solutions for them, to develop proofs of concept for these designs, to write and review patent proposals, and ultimately to transfer the projects to engineering for implementation and deployment into production. This work involved all aspects of a large scale heterogeneous homegrown software service, including advertising, content management, media delivery, security, and mobile client software.
(Privately Held; 1-10 employees; Internet industry)
December 2006 — March 2007 (4 months)
Product development, platform selection, rapid prototyping, preparation for financing pitch.
(Public Company; 501-1000 employees; DIS; Motion Pictures and Film industry)
September 2002 — December 2006 (4 years 4 months)
Helped to conceive, design, and implement a groundbreaking new animation system built from scratch. Responsible for the computational core of the system, including dependency analysis, automatic incremental computation, caching, and generic iterative solvers.
Led character optimization for Ratatouille, a feature film. Used numerical analysis and caching to speed up articulated characters. Redesigned a free-form deformation module to be optimized for posed projections and shear correction. Optimized a Powell solver used for non-linear inverse kinematics. Achieved a 20x speedup for interactive animation.
Improved the character articulation tool in use since Toy Story 2. Invented a new caching algorithm optimized for interactive animation within a frame. Enhanced the referencing system used for authoring characters.
(Public Company; 501-1000 employees; Internet industry)
July 2001 — September 2002 (1 year 3 months)
Eight direct reports. Led development of an SQL-based distributed network monitoring tool. Release Manager for various products. Worked closely with product management, QA, technical publications, marketing, sales, and technical support.
(Privately Held; 51-200 employees; Computer Networking industry)
April 2000 — July 2001 (1 year 4 months)
Designed a typed structured remote query language for a level-4 router for live media streams. Designed a generic XML XPath-based transformation language as the engine of a flexible and extensible Schema-based validating network-configuration engine. Lead developer of several network monitoring tools.
(Privately Held; 1-10 employees; Computer Software industry)
January 1999 — April 2000 (1 year 4 months)
Developed a certifying x86 native-code Java compiler along with an automatic theorem prover. The theorem prover runs on remote clients to ensure the Java safety properties of the certified x86 native code output by the compiler.
(Educational Institution; Research industry)
August 1996 — January 1999 (2 years 6 months)
National Science Foundation CAREER Award – youngest winner of the nine awards granted nationwide in 1997 in the field of software engineering. Co-designed a Java API called Triveni for the compositional construction of concurrent event-based reactive systems.
(Public Company; 10,001 or more employees; ALU; Telecommunications industry)
June 1997 — December 1998 (1 year 7 months)
Instigated technology transfer of Ph.D. research into the Verisoft software verification tool. Designed and implemented a symbolic execution/analysis tool for C programs, similar to Microsoft’s PREfix tool.
(Educational Institution; Research industry)
March 1995 — August 1995 (6 months)
Invented some of the first non-trivial abstract interpretations for the semantics-based automatic analysis of concurrent programs.
(Educational Institution; Research industry)
October 1994 — March 1995 (6 months)
Invented some of the first non-trivial abstract interpretations for the semantics-based automatic analysis of concurrent programs.
(Research industry)
May 1993 — August 1993 (4 months)
Researched semantics-based static analysis of concurrent programming languages.
(Public Company; 10,001 or more employees; SUNW; Computer Software industry)
May 1991 — August 1991 (4 months)
Invented the first known efficient most-specific-subsumer (MSS) algorithm for natural-language term-based classification.
Ph.D. , Computer Science , 1992 — 1996
Specialties: languages, semantics, compilers, automated program analysis and verification.
National Science Foundation Graduate Fellowship, September 1990 – August 1993.
Thesis: Semantics-based Program Analysis via Symbolic Composition of Transfer Relations. Supervisor: Prof. Peter Lee.
M.S. , Computer Science , 1989 — 1992
B.S. , Computer Science , 1986 — 1989
Thesis: Correctness Proofs of the Peterson-Fischer Mutual Exclusion Algorithms. Supervisor: Prof. Nancy Lynch.
National Science Foundation CAREER Award, 1997.
Sole inventor, pending patent, "Dynamic Dependencies and Parameterizations for Execution and Caching".
Sole inventor, patent 7,034,836, "Adaptive Caching of Animation Controls".
Patent 6,102,968, "Method for Automatically Closing Open Reactive Systems".