David Whitney
8034 Fairway Dr NE
Seattle, WA 98115
http://davidwhitney.net
dwhitney(at)cs.stanford.edu
Objective
Software design/development position involving Graphics or Distributed Systems (Seattle area).
Summary
Customer focused Senior Software Engineer with twenty years
experience in a wide array of fields including
Network Distributed Computing, eCommerce, Web Services, 3-D
Graphics, Web App development, Scientific Visualization, and Video
Technology. Expert at software development in Java/C++
environments on UNIX and Macintosh systems. Devotion to Object
Oriented Design and pervasive documentation practices. Proven
skill at rapidly integrating new knowledge and at creative problem
solving. Self motivated, excellent communication skills, and
experienced at teaching and giving technical presentations.
Education
- Stanford University, Computer Science, M.S. '89, B.S. '88
Independent Web Work
Professional Experience
AMAZON.COM,
Senior Software Engineer
Seattle, Washington, Oct 1999 - present
Lead technical engineer on various projects across Amazon's businesses, including Supply Chain Optimization Systems, Amazon Marketplace, and Amazon Web Services groups. Worked closely with many teams to improve the customer experience.
- Amazon Web Services 2008 - 2011
Lead engineer for Amazon AWS Management Console
- Rich UI webapp for controlling Amazon's Web Services using client-side javascript, YUI, JQuery. Struts2/Tomcat Java backend to aggregate XML responses from AWS services.
- Amazon Marketplace 2003 - 2008
Lead
engineer for software systems to automatically integrate new
merchants onto Amazon marketplace platform. Coordinated
across a dozen Amazon Merchant Teams using proprietary
workflow systems and services to allow new merchants to
register and start listing items to sell in under 5 seconds.
C++, Oracle. Also responsible for various internal support
tools using Ruby on Rails, Perl/Mason and Perl CGI.
- Item Management / Catalog 2002 - 2003
Developed systems to dynamically define new product
categories through a simplified web interface and backend
service. Tomcat/JSP front end, proprietary Oracle-backed service.
- Supply Chain Optimization, Vendor Management
1999 - 2002
Development, maintenance, and support of 24/7 international
procurement systems using Java, CORBA, Oracle, Perl, and Servlets.
MRJ TECHNOLOGY,
Visualization Software Engineer
NASA/Ames Research Center, Mountain View, California,
1998 - 1999
Member of the
Visualization & Data Analysis Group
at the Numerical Aerospace Simulation Facility at NASA/Ames.
Responsibilities include:
-
Developing network and visualization code for the distributed
Collaborative Virtual WindTunnel
-
Member of the Collaborative Tools Team investigating and
developing software for group problem solving over the Internet.
-
Developing educational
applets
for the
Space Settlement outreach program.
-
Maintaining and enhancing the NAS Large Data Set Archive and
web site.
-
Mentoring interns learning Java and other web technologies.
THE BOEING COMPANY,
Advanced Computing Technologist
Seattle, Washington, 1996 - 1998
Member of the Virtual Environments Group in the Computing Technology Division.
Project Lead on Advanced Rendering. Working to be a driving factor in
Boeing technology development.
Responsibilities include:
-
Developing high performance rendering system for Virtual Reality and CAD.
Integrated completed renderer into Division Inc. VR software.
-
Designing and maintaining graphics and interface library for
large scale CAD Generative Design application. Coordinating
information and integrating code with large development
team. Consistent release schedule maintained.
-
Guiding and assessing latest graphics technologies by working
with vendors, such as SGI, HP, and Division. Attending
conferences.
-
Teaching Java and Internet technologies at local high schools.
CONNECTSOFT INC.,
Senior Software Engineer
Bellevue, Washington, 1995 - 1996
Member of the dynamic and self-directed "E-Mail Connection for Macintosh"
development team. Responsibilities included design and development of object
oriented subsystems and user interface components. Rapidly integrated
new code into large pre-existing C++ code base and the PowerPlant Object
Framework. Fast paced project demanded rapid assimilation of new techniques
and development environments. With little guidance, became highly productive
member of a gelled team in only a few months. Pressed CD of first beta
on schedule.
STERLING SOFTWARE,
Senior Software Engineer
NASA/Ames Research Center, Mountain
View, California, 1989 - 1995
Assigned under contract to NASA in the Computer Graphics and Scientific
Visualization Group. Responsibilities included leading development of distributed
network and graphics software in a multi-platform UNIX and Macintosh C++
environment, interacting with and supporting NASA scientists, and exploiting
emerging technologies. Tasks have demanded excellent communication skills,
self motivation, and creative problem solving. Consistently high performance
reviews.
-
Led design and development on an object oriented Motif/C++ application
to determine shear stress from video images of a liquid crystal paint covered
surface.
-
OpenGL/X/Motif Objects: designed and implemented C++ class library for
OpenGL graphics applications. Internal use with X/Motif projects.
-
Distributed Film and Video Recording System (ViPS): led design and
implementation of network communication, spooling, and recording
subsystems for Ames-wide automated film/print/video hardcopy system
using RPC and sockets. Project completed ahead of schedule, highly acclaimed,
in operation for seven years so far with thousands of images produced.
-
Video Animation System Distributed Library (VASlib): designed and implemented
a video animation device driver, a network protocol for remote hardware
control, and programmer's interface library for local or remote recording
of workstation graphics. Used by ViPS and several NASA scientists to create
video footage seen worldwide on stations like CNN and PBS.
-
Distributed Graphics Development System: designed and implemented network
interface for NASA's ARCGraph 3D graphics system.
-
World Wide Web: produced Internet information database for graphics group.
Created high profile and professional public appearance for work done within
group.
-
Clustered Distributed Renderer: designed and implemented prototype C++
application to generate high quality graphics images at supercomputing
speeds. Using PVM toolkit over network cluster of SGI, SUN, DEC, IBM
workstations. Code outperformed CRAY C90.
-
Video Production: produced many animation videos on behalf of Ames
researchers. Responsible for providing professional
look to research presentations and press releases. Often done under
tight submission deadlines, always completed on time.
-
Published and co-authored technical reports and presented two papers on
distributed computing at international conferences. Led many seminars on
current topics for the NASA community.
STANFORD UNIVERSITY,
Teaching Assistant
Stanford, California, 1988 - 1989
Lectured, led discussion sections, graded programs, and held office
hours for the core undergraduate Computer Science courses.
Publications & Presentations
-
Reda, Wilder, Whitney, et al, "Areal Measurements of Surface Shear
Stress Vector Distributions using Liquid Crystal Coatings." AIAA
96-0420, Invited Paper, 34th Aerospace Sciences Meeting, Reno, NV, January, 1996.
-
E. Hibbard, M. Bauer, M. Bradshaw, G. Deardorff, K. Hu, D. Whitney, "Theory
and Application of Stereographics in Scientific Visualization." in
From Object Modeling to Advanced Visual Communication, Coquillart,
StraBer, Stucki (Eds.), Springer-Verlag, Berlin, 1994.
-
E. Hibbard, D. Whitney, "ViPS: Visualization Printing System." Proceedings
of CRAY Users Group, Fall 1992. Presentation given at CRAY Users Group
Conference, Washington, D.C. September, 1992.
-
D. Whitney, "VASlib: Video Animation System Distributed Library."
NASA technical document, 1991.
-
E. Hibbard, D. Whitney, K. Hu, "Distributed Graphics in a Supercomputing
Environment." Proceedings of CRAY Users Group Conference, Fall 1991.
Presentation given at CRAY Users Group, Santa Fe, NM, September 1991.
Outside Activities
Referee
for FIRST High School Robotics competition, stage work for local theaters, teaching Web/Java at local
schools, Youth Soccer Coach, blood/marrow donor.
Sailing, soccer, cycling, rowing, guitar, rock/mountain climbing, hiking, travel, crosswords, chocolate.
SKILLS INVENTORY: Proficient or expert at all of the following
SOFTWARE SYSTEMS AND PROGRAMMING
UNIX: (20+ years) Linux, (also Irix, Solaris, SunOS, Ultrix, Unicos, AIX, A/UX, BSD)
Mac: (10+ years) MacOS, MacOSX.
X: (10+ years) X Window System, X11, Xlib, OSF/Motif, twm, mwm
LANGUAGES: Java (10+ yrs), C/C++ (10+ yrs), Javascript (3 yrs), Ruby (3 yrs), Perl (3 yrs).
misc: SQL, Pascal, Fortran, APL, 6502 assembler, bash/csh, AppleScript
FRAMEWORKS: Spring, Mockito, JUnit, QUnit
WEB: YUI, JQuery, Ajax, JSON, Applets, Ruby on Rails, HTML, CSS, Apache, Tomcat, Struts 2.0
WINDOWING: Java AWT/Swing, X Windows, Mac Interfaces, Event Driven Programming, GUI Design
NETWORKING/ BSD Sockets, java.net, CORBA, OSF/DCE, SunRPC, TCP/IP
DISTRIBUTED PVM, MPI
PARALLEL: SGI Parallel Libraries, Cray Vectorization, Shared Memory
METHODOLOGIES: Object Oriented Analysis, Design, and Programming, Coad/Yourdan OOD.
GRAPHICS: OpenGL/IrisGL, SGI Performer, HTML Canvas, java.awt, Xlib, Motif, QuickDraw, QuickDraw 3-D, PostScript.
MACINTOSH: Intermediate Macintosh Programming, Metrowerks PowerPlant Object Framework
APPLICATIONS:
MACINTOSH Photoshop, Canvas, DeBabelizer, MS Office, Omni, Adobe Premiere, Lightwave 3-D, Metrowerks CodeWarrior, Symantec C++, Script Editor
SGI Performer, Division dVise, CaseVision, Iris Explorer, Showcase
UNIX TOOLS: Emacs, git, Perforce, CVS, ClearCase, Purify, Eclipse
HARDWARE SYSTEMS:
COMPUTERS: SUN, SGI, DEC, Macintosh, Cray, RS/6000, PC, Amiga, X Terminals.
VIDEO: Video Toaster, SGI Galileo, Lyon Lamb MiniVAS Animation Controller & Real Time Scan Converter, IDEN TBC Time Base Corrector,
Sony Betacam, Umatic, Hi-8 Editing Decks.
CONFERENCES: ACM/SIGGRAPH, ACM/CHI, NAB, InterOp, OOPSLA, Cray Users Group (CUG)
MacWorld, Xhibition, InterMedia, Usenix, Software Development, SGI Developers Forum, PNWSS