Customer-focused Engineering at Uber: A Q&A with Jörg Heilig, VP of Ridesharing and Eats Engineering

Customer-focused Engineering at Uber: A Q&A with Jörg Heilig, VP of Ridesharing and Eats Engineering

Jörg Heilig, Vice President of Engineering for Ridesharing and Eats, manages over a hundred engineering teams that develop technology for riders, drivers, marketplace, maps, Uber Eats, and Uber for Business.

Such a large portfolio looks like an overwhelming challenge, especially as Jörg only joined Uber in November of 2017. However, he brings 13 years of engineering leadership experience at Google along with prior experience at startups and Sun Microsystems on which he can lean. His working style not only involves collaboration with the engineers in his organization, but a strong focus on the customers who use Uber’s services.

We sat down with Jörg to find out how he approaches such a large area of responsibility, and what priorities his group will take on in 2018:

Can you give an overview of your team’s responsibilities?

Pretty much all of the product engineering teams are in my group, so we have people working on our rider and driver-facing applications and systems, including our compliance and safety efforts. The Marketplace team focuses on efficiently matching riders with drivers. Our new Express Pool product added significant complexity around their tasks, as they have to match multiple riders to a single driver, and take into account walking times to a pick-up point. The maps team builds the base data on which all of Uber runs. We work with external parties on map data, but we also have a very significant effort to build out our own maps data and services stack to do ETA predictions, routing, and even turn-by-turn navigation in more parts of the world.

These groups support the ride-sharing business, but then we have Uber Eats, which sits on top of maps, marketplace, and driver and has its own special requirements. For example, when couriers pick up food from a restaurant, they need to know where to park. It isn’t the same as picking up a rider from the curb. And we support Uber Eats delivery by bicycle and motorcycle, which can often get around more efficiently than a car so require a different ETA calculation.

All of these systems work very closely together, and all are developed and operated by the product engineering teams. Of course, they also have to interface with systems from other groups in the company that deal with payments, security, infrastructure, and marketing.

How do your engineering teams interact with the operations teams working in cities served by Uber?

We have a very close partnership with our operations teams, as we provide the technology they use to operate effectively. Our marketplace is two-sided: on one hand, we have the driver partners, and on the other, riders. We want to make sure we have a good balance of supply and demand. As one example, we can launch promotions to get more riders, creating demand for our driver partners so they are not just waiting for fares. We also want to ensure there are enough driver partners to meet rider demand. We have to grow our business in lockstep on both sides, and that’s where our city operations team’s expertise comes in. With their local knowledge, they can help tailor our services to their specific cities, and help balance our products and price points from Express Pool all the way up to premium rides in Uber Black.

When you joined Uber, how did you get a handle on such a large working group?

Uber is very complex, so it was and still is a challenge. I happened to join a day before we held our global cross-functional driver summit, which was an inspiring event that concluded our 180 Days of Change for Drivers program. At the summit we went through the strategy and insights we garnered from our various markets and operations teams, the product strategy team, as well as our user experience researchers. I also met with driver partners in small groups to get their thoughts on what we can improve.

I want to learn how I can help make it easier for developers to build and run our services and where it has been hard to get traction or make decisions.

Right after that, we kicked off planning for the next year across all of Uber. It was amazing to have the opportunity to listen to all the areas’ insights and plans for 2018. There wasn’t a better time to join. In general I really enjoy meeting people, listening, and learning. I want to learn how I can help make it easier for developers to build and run our services and where it has been hard to get traction or make decisions. I have met with almost all of the senior engineers and managers in the organization one-on-one, and I am still working on meeting all of the teams individually to better understand their goals and interactions with the rest of the organization.

What made you decide to join Uber?

By far the two biggest reasons were the people I met during the many interactions I had while interviewing and Uber’s mission, creating so many amazing opportunities ahead. I look at Uber as a relatively young company that has had some serious issues, but is working through them. We really made a lot of progress towards addressing these challenges with new leaders coming in, especially at the top with Dara. My impression is that everybody here has been very involved in that cultural shift, and people are really happy about it.

As for the opportunity, we’re still only serving a tiny fraction of the overall transportation market, and as we make Uber more reliable and more affordable, that will shift the transportation market more towards ridesharing versus personal car ownership. That shift will be a huge opportunity to enable more efficient shared rides, reducing congestion and emissions, as well as creating affordable transportation for everybody.

Going into 2018, what were the major strengths that you found within your organization?

I really like the bias for action we have. One of Uber’s strengths is that people are willing to entertain any idea, look at the merits, and then just do it. I’ve been really amazed how quickly the teams have been able to test some of their ideas right in our production apps, or how they start on prototyping a new architectural projects right after brainstorming on it the week before.

If you look at our marketplace, matching riders and drivers in real time is a very complex optimization problem.

The other strength I see is that Uber is up there with companies like Google and Facebook in terms of being able to attract top talent, partly due to the fact we solve real problems for people in their daily lives. If you look at our marketplace, matching riders and drivers in real time is a very complex optimization problem. We want to provide reliable transportation in every city, so the engineering problems around building easy to use mobile apps, optimization, machine learning, and large-scale reliable, real-time systems are enormous. It takes very talented people to keep improving these systems.

How do you align the engineers in your organization with such a strong focus on our riders and driver partners?

For both riders and drivers, we have the opportunity to make ridesharing work more seamlessly. The people here are really focused on our customers, and that’s why I emphasize product excellence so much. We did an internal satisfaction survey a couple of months ago, and it showed that our engineers really believe in Uber’s mission to improve mobility, and that’s one of the biggest reasons they are here.

Uber has an amazing product market fit. Our driver partners really appreciate the flexibility of their work, and the riders really like the product selection. They get different price points and the ability to choose what they need to get from points A to B.

Uber can be life-changing for both riders and drivers. We have riders in Brazil that wouldn’t have gone out because it was too dangerous, but they feel much safer getting a ride from us. We have people who wouldn’t be able to get to work if Uber wasn’t there. On the driver side, we provide an opportunity with flexible hours, that can align with things like child care or allow someone to bridge a time of low earnings after losing a job or starting a business. And then we have many full time drivers who enjoy being their own boss and interacting with riders. But we all also realize that our driver partners and our riders still have many justified asks and concerns and that we need to continue to work hard on providing even better services and features for them.

What priorities are you setting for your organization?

On the product side I look at it as a portfolio approach. First, in the short term we have a lot of low-hanging fruit in just making our existing features work better. This work goes towards the goal of being flawless in the experience we provide for our riders and driver partners. A lot of this effort goes into optimizing our feature set, making it safer, enhancing the pickup experience, and improving the reliability of our ETAs. We are investing a good portion of our engineering time in safety, reliability, and affordability, the things that our customers value about Uber.

At the same time, we have ideas for new features we want to offer our customers, innovation that will make our various business lines even more useful in the long run. We have a set of initiatives which I can’t disclose yet, but these center around making the big bets that improve our long term value to customers.

We are investing a good portion of our engineering time in safety, reliability, and affordability, the things that our customers value about Uber.

Among my personal priorities is making engineers happy and productive. I worked with my peers in infrastructure and platforms to invest more heavily in tools and infrastructure. We also just did a compensation round across all of Uber to make sure we pay equally for the same performance. We worked very hard on that and I am happy with the results we achieved.

Another of my priorities is to improve decision-making between groups. I was hired to run all of product engineering, which lets me facilitate decision-making between the engineering teams working on maps, marketplace, riders, and drivers, and I enjoy that work quite a bit.

What are some specific projects your organization has lined up?

We are looking at the driver and rider experience across our apps. We just launched our new driver app with a big event in LA during which Dara answered live questions from our driver partners. We are also looking at making the rider app easier to use during request and pickup. We have begun supporting bike-sharing on our platform, giving customers an alternative for getting around in congested areas. What if you want to take that long weekend trip that is just not a good fit for uberX? Here, we are working with rental companies to offer rental cars in the app.

We are also starting to work closely with cities in figuring out what a public-private partnership could look like. All modes of transportation fit into the scope of what Uber is trying to provide, and I think there is a lot of opportunity to optimize in that space. I am super excited to see what we can do to improve people’s commutes, especially from a perspective of reducing greenhouse gas emissions in the process.

How do you align your engineering groups with your priorities?

Uber is a super-collaborative environment, so I don’t set the priorities–we agree on priorities as a team. In our 2018 planning process, we took a very bottoms-up approach in strategically planning our priorities. Each team was then resourced based on the expected return on investment in each area. We broadly communicated those priorities, identified dependencies, and set up teams to communicate with each other directly, so they do not have to go through layers of management to get work done. We are very focused on executing independently.

Uber is a super-collaborative environment, so I don’t set the priorities–we agree on priorities as a team.

What are the big things you learned coming into this role?

What I have learned in the short time I have been here is that this business is extremely complex, and I can’t assume anything. Uber is very unique in a lot of ways, and so I have to continue to be curious and get deeper every day in understanding the marketplace dynamics, maps issues, and rider and driver needs. I’ve been very encouraged by the conversations I have had with the engineers and I am slowly developing better intuition and judgment about what works and what doesn’t.

Outside of spending a lot of time with people and on hiring, I’m splitting my time between understanding the product opportunities and getting deeper on our engineering challenges. I feel that my core responsibility is to the long-term health of Uber engineering, both in product and engineering excellence. I want to retain the talent we have, attract more world-class people, and create a fun and productive environment for engineers.

I’d like to add that we have lots of openings in all of our offices. We have our headquarters in San Francisco, and a very large office in Palo Alto that we want to grow. We are hiring in New York, Seattle, India, Amsterdam and a few other locations in Europe. We are looking for a mix of senior and junior people that can work on everything from Android and iOS applications, to optimization, machine learning, and distributed systems. We want to improve the diversity of our workforce, and we are hiring about a thousand people in engineering this year. That is a very large number, and I am very excited about the opportunities ahead.


If building a platform that can improve mobility for people all over the world interests you, consider joining our team.

Subscribe to our newsletter to keep up with the latest innovations from Uber Engineering.