Highlights
- experience in designing, implementing, and maintaining large software systems
- adept at analyzing and debugging complex problems
- broad range of technical knowledge:
- proficient in C, C++, Java, C#, Python, x86 assembly (competent in many others)
- concurrency with pthreads, Java, CUDA
- development experience spanning device drivers, operating systems, applications
- proven ability to manage and lead
- presents complex information clearly and concisely
Experience
Software Engineer
, NVIDIA Inc., June 2009 – Present
- writing systems software for GPU computing
- driving architecture and implementation of software for next-generation hardware
- lead developer for Apple OpenCL
Software Engineer Intern
, Various Companies, May 2005 – December 2009
- Microsoft: designed and implemented Sudoku for Zune and Zune HD
- Three Rings: masked network latency with client and server compensation techniques
- ALT Software: managed architecture and implementation of new version of Fisher-Price toy
- AMD: designed and coded JPEG decoder feature for mobile GPUs
- ATI: created cross-platform USB interface driver
Independent Game Developer
- Fishing Girl
- created casual action game in C#/XNA for Xbox 360
- employed an iterative design process and player usability tests to "find the fun"
- critical and commercial success; converted over 33% of trials into purchases
- SpinFour
- created board game for iPhone
- developed CPU- and memory-efficient AI algorithms for resource-constrained platform
Education
University of Waterloo
, Waterloo, ON, 2009
Bachelor of Computer Science, With Distinction - Dean's Honours List
- grade average: 95%
- awarded numerous scholarships for academic and social achievement (over $25 000)