Airbnb, Manager / Engineer
11/2019 - Present, San Francisco, CA
Managed teams of up to 35 engineers that are responsible for Marketplace dynamics, Pricing. Supported Smart Pricing product and its optimizations, price display for Guests, pricing and promotion management tools for hosts, Cancellation policies, to name a few. The team is full-stack across web, mobile, backend, data and machine learning applications.
Now transitioning back to software engineer for a while. Prioritizing family & other aspects in life.
Uber, Software Engineer to Manager
03/2015 - 11/2019, San Francisco, CA
I started as an engineer on the dispatch team and was fortunate to be a core team that rebuilt Uber’s dispatch engine from scratch, to power Uber Eats, Uber Rush and Uber Rides together. Some technical challenges include:
zero-downtime migration of stateful services (replicating realtime dispatch state across two engines for smooth migration).
Design high-availability systems with consistency tradeoffs (Dealing with Riak sibling resolutions. Fun fact: I fixed a hidden Riak client bug that brought down Uber globally).
Reliabilty & Performance. (Building storage gateway layer on top of Cassandra with redundancy to provide extra reliability, E2E testing/monitoring, to name a few..).
I transitioned to Manager at Uber, I was lucky to be part team that grew Uber Eats from 60 to 250+ engineers, while gross bookings grew from $1B to $10B+. I built and grew the Eats Pricing team from 3 to 25 engineers. We worked on ML and real-time systems that optimizes Eats marketplace, including delivery fees optimization, dynamic pricing, dynamic/free-shape delivery zones, optimized courier earnings, to name a few.
Facebook, Software Engineer
10/2012 - 03/2015, Menlo Park, CA
I worked on the Facebook Ads Targeting team. I participated in multiple projects that are full-stack (Across data engineering, ML, backend, frontend):
Ads reach estimation. Ads reach estimation tool provides advertisers with real-time estimates of their targeted audience size. It leverages Lucene index’s document-count estimation capability to estimate eligible user counts.
Geo-targeting. Leverage machine learning to infer users’ home and real-time locations to allow for more precise ad targeting. Also implemented flexible geo-targeting E2E (from UX to ad indexing).
Look-a-like targeting. Using logistic regression for scoring user’s propensity to any particular group of users allows advertisers to target users that are similar to their customers. Required scalable training infrastructure as we train a new model for each cluster advertiser uploads; another interesting challenge is real-time quantile estimation to allow for targeting at ads serving time. Look-a-like targeting had many interesting applications, including relaxing the constraints on keyword-based ad targeting.
I’ve also spent time on the Facebook iOS Performance team, which was responsible for the E2E performance of the Facebook app. There I touched on various interesting technologies: UDP Priming, Prograssive JPEG rendering, GraphQL Encoding, etc.
Google, Software Engineer
01/2011 - 10/2012, Shanghai, China
I worked on video search for Google. I built video metadata extraction tools and integration into Google’s search indexing pipelines.
I also worked on Google Search for Suppliers, where I worked full-stack in spinning up a new search vertical from scratch.
This was my first full-time job, and I was fortunate to learn Google’s infrastructure.
Internships
07/2010 - 10/2010. Youdao, Netease, Beijing, China.
Worked on machine learning for search ranking.
10/2010 - 01/2011. Hulu, Beijing, China.
Worked on video players for Hulu.