- Software Engineer at Google, Inc. in Mountain View, CA.
- 2017-now: Uber tech lead of a 150-engineer team working on a confidential project.
Responsible for infrastructure that includes custom hardware, cloud services, mobile devices,
and more. Improved developer productivity, reduced system complexity, enabled the team to
scale 5x without losing velocity or accruing technical debt.
- 2011-2016: Android. Built data collection, logging, and
analytics infrastructure for nearly all of Google's 1st party apps (Search,
Gmail, Calendar, Maps, Play Store, Google+, and more). This one of Google's
core pieces of infrastructure. Led an engineering team who scaled it up to 2
billion devices sending 1.5M requests and 6GB of data per second. This powers most of
Google's mobile logging, monitoring, and experimentation.
- 2010-2011: Google Commerce Platform.
Built a shopping recommendation engine that raised conversion rates and revenue
(by 30%) for a number of large partners.
- 2007-2010: TV advertisement quality and auction.
Designed new ad quality measures; built a machine learning training arena and
a model that greatly reduced ad avoidance rates and raised revenue.
- 2007-now: Google Code Jam
(20% time). Contest platform, problem preparation, spin-offs.
- Summer 2007
- Software engineering intern at Google Inc. in Mountain View, California.
Initial design and implementation of the
Google Code Jam website that still works 10 years later.
- Summer 2006
- Research intern at Google Inc. in Mountain View, California.
Machine learning for real-time natural language processing tasks
for use in many Google products, including search and ad quality.
- Summer 2005
- Research assistant to Dr. John Buchanan at Electronic Arts
Canada. Neural networks for game AI. Made a fighting bot that
learns to mimic expert players. Also built a winning bot for an AI
competition arena -- tank battles in a maze.
- Technical test grader (part time) for Business Objects
(now part of SAP). Graded the coding section
of the technichal test used in the hiring process.
- Course designer and instructor Co-designed
and twice taught a Problem Solving course (CPSC490) at the Computer Science
department of UBC, drawing on our experience in programming competitions.
- Software Engineering Lead (part time) BioVires Solutions Inc.:
Built a tool for Hepatitis C researchers to
study RNA sequences, their alignment, phylogenic trees and
3D structures. Learned to lead
a small programming team.
- Senior Undergraduate Teaching Assistant at UBC. Course: CPSC216.
Experience preparing and teaching tutorials.