- Software Engineer / Tech Lead at Google, Inc. in Mountain View,
- Android. Data collection and
analytics infrastructure for Google's core apps (Search,
Gmail, Calendar, Maps, Play Store, Google+, and others). I lead a medium-sized
team of software engineers who work with petabytes of data from 1B+ users.
- Google Commerce Platform.
E-commerce solution for medium-to-large online retailers.
- TV advertisement quality and auction.
Designing new ad quality measures; applying machine learning models to
problems in audience measurement, advertisement auctions and revenue/quality
- Google Code Jam
(20% time). Contest platform, problem preparation, spin-offs.
- Other confidential projects.
- Summer 2007
- Software engineering intern at Google Inc. in Mountain View, California.
Initial design and implementation of the
Google Code Jam website.
- 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. Applying machine learning to game AI - making a game that
learns strategies from expert players. This was a summer project
with the goal of evaluating a number of techniques
for learning strategies used by humans in a fighting game.
My program was based on a neural network and was able to learn
and imitate an expert player's strategy in real time.
- Technical test marker (part time) for
(now part of SAP). Evaluating the coding section
of the written technichal test used in the company's hiring process.
- Course designer and instructor A fellow student and I designed
and taught twice a Problem Solving course (CPSC490) in the Computer Science
department of UBC, drawing on our experience in programming competitions.
- Software Engineering Lead (part time) BioVires Solutions Inc.:
Hep-CAT - a tool for Hepatitis C virus researchers to
study RNA amino acid sequences, their alignment, phylogenic trees and
3D structures. Experience working on a large scale Java project and leading
a small programming team.
- Senior Undergraduate Teaching Assistant at UBC. Course: CPSC216.
Experience preparing and teaching tutorials.