Data / ML

Engineer Q&A: Doing Data Science at Uber Engineering

September 22, 2015 / Global

This week, Emi Wang dishes out data science knowledge and what she’s been up to at Uber since she joined in September 2012.

What do you do at Uber?

I’m half data scientist, half software engineer. I alternate between writing production code, doing analysis on business decisions, and creating models for new projects.

Emi in Hayes Valley near Linden St & Gough St, a popular spot for coffee catchups from our San Francisco office on 1455 Market St.


What sort of models?

Many of my models follow the business logic behind how you make pricing decisions. For example, with Geosurge (our name for dynamic pricing), how do we most efficiently position supply to meet demand? You have to look at what information is available, then compare theoretical ideals against what you can actually implement in the real world.

What are other things you’ve modeled at Uber?

I’ve spent a lot of time working on Geosurge with my team, making the dynamic fare model based on both geolocation and demand (for a ride) to help our driver partners be more efficient. I’ve also looked at the long term effect of surge on customer retention, the short term effect of surge on customer demand, and the effect of different dispatch methods (greedy vs. not greedy) on dispatch times and distances.

What’s the biggest misconception the general public would have about your role?

People think analysts and data scientists are locked away with data and just generate reports. Many people are surprised to hear that I write production code and am on-call. I’m fortunate to have a hybrid role. I have lots of input into how the projects I’m on develop, which makes sense since I’m part developer.

What’s a normal data science day for you?

I normally get to the office between 8:30 – 10 am. It takes me 10 minutes to walk to work, so it’s pretty convenient. Most days I’m coding, reading diffs, making diffs, reviewing logs, or making models. I also talk with operations folks about how a model is working in their city and how I can tweak it for them. My work day ends between 6 – 8 pm depending on the day. If I’m working late, I’ll eat dinner in the office — a convenient perk.

Why Uber in the first place?

Kevin Novak (a senior engineering manager on the Uber Data Team) and I were both in the same nuclear physics program at Michigan State. I was looking for options outside of academia and knew he’d joined a startup. I’m glad I asked him about Uber.

Woah, nuclear to tech. What’s similar?

In both fields, you make theoretical models with lots of simplifying assumptions. It’s all about getting a model to be useful in real life. What I like about Uber is that it’s more immediately applicable. There’s something to be said for academic research, where you often pursue knowledge for the sake of knowledge. But after a while, I wanted to do something that would make people’s everyday lives happier and less stressful.

Follow @UberEng for more about our engineering initiatives.

Photo Credits for Header: “Green Tree Python” by Ian C licensed under CC-BY 2.0. Image cropped for header dimensions.

Header Explanation: Python is one of the most frequently used languages at Uber, and is the primary language of the Uber Data team.