1970-1975: High School: Agincourt Collegiate Institute
1975-1980: Bachelor of Mathematics (Computer Science), University of Waterloo
1980-1982: Master of Mathematics (Computer Science), University of Waterloo
1982-1984: Technical Staff Member: Human Computing Resources
- Unix device drivers, porting and emulation.
- Teaching, graphics consulting, typography.
- Unix, VAX, PDP, 8086, C, Assembler
1984-1986: Graphics Programmer: Omnibus Computer Graphics
- Image libraries and compositing tools.
- Rendering optimizations (Microcode).
- Software architecture.
- Unix, VAX, Ikonas, C, Assembler
1986-1988: Software Engineer: Digital Media Networks
- System administration.
- File queueing and sports score tracking systems.
- Embedded system firmware development.
- Unix, Sun, 8086, C, Assembler
1988-1991: Project Leader: Alias Research Inc.
- Interactive paint systems.
- User interface libraries and tools.
- Graphics application porting
- Unix, SGI, IBM, C, C++
1991-2000: Senior Product Architect/R&D Manager: Side Effects Software
- 2D and 3D animation system architecture and development.
- Started and led the development of our new generation of software tools in C++.
- (1997) Received Technical Achievement Award from the Academy of Motion Picture Arts and Sciences for work on the Prisms procedural animation system.
- (2002) Received Scientific and Engineering Award from the Academy of Motion Picture Arts and Sciences for the development of the Houdini animation system.
- Unix, SGI, NT, C, C++
2000-2001: Director, Graphics Technology: TrueSpectra Inc.
- Directing the graphics development team working on Internet image server technology.
- Directed all product development: Server technology, UI, Graphics.
2002-present: Senior Software Architect: Autodesk Inc. (f.k.a. Alias|Wavefront Inc.)
- Application architecture, design and development.
- Architecture team lead.
- Senior architect and developer on Autodesk Showcase
- Senior developer on Autodesk Sketchbook Designer
- Cloud and local services for Autodesk Spark