Join Our Team


Backend Machine Learning

Next-Generation Optimization for Dasher Dispatch at DoorDash

Learn how we optimized dasher selection using data science

Holly Jin Josh Wien Sifeng Lin

Writing Delightful HTTP Middleware in Go

While writing complex services in go, one typical topic that you will encounter is middleware. This topic has been discussed again, and again, and again, on internet. Essentially a middleware should allow us to: Intercept a ServeHTTP call, and execute any arbitrary code. Make changes to request/response flow along continuation chain. Break the middleware chain, ...

Zohaib Sibte Hassan

Speeding Up Redis with Compression

One of challenges we face almost everyday is to keep our API latency low. While the problem sounds simple on the surface, it gets interesting sometimes. One of our endpoints that serves restaurant menus to our consumers had high p99 latency numbers. Since it’s a high traffic endpoint we naturally use caching pretty intensively. We ...

Zohaib Sibte Hassan
Backend General

Enforce Timeout: A DoorDash Reliability Methodology

“What would happen if we removed statement timeouts in our Postgresql databases?” That’s one of the questions asked in a management meeting. At the time I only responded that it would be bad — it would cause problems and make it harder to debug. However, I realize now that this is a topic that many people don’t ...

Zhaobang Liu

Scaling StatsD

Overview Monitoring is hugely important, especially for a site like DoorDash that operates 24/7. In modern-day DevOps, monitoring allows us to be responsive to issues and helps us maintain reliable services. At DoorDash, we use StatsD heavily for custom metrics monitoring. In this blog post, we take a deeper look at how DoorDash uses StatsD ...

Jing Zhao

Avoiding Cache Stampede at DoorDash

One of the core mottoes on the engineering team at DoorDash is: We are only as good as our next delivery! With high traffic loads and orders flying in, every engineering decision has a critical impact on what our customers, merchants, and dashers will experience. We have to pay careful attention to the details and ...

Zohaib Sibte Hassan
Backend Web

How we Designed Road Distances in DoorDash Search

By Richard Hwang and Aamir Manasawala, Software Engineers One of our goals at DoorDash is to surface to consumers a wide range of stores that are quickly deliverable to their given address. This process involves calculating accurate road distances for each store-consumer pair in our real-time search pipeline. Our earlier blog post about recommendations for search primarily ...

Richard Hwang Aamir Manasawala
Backend General

Integrating GitHub with Jenkins for Continuous Integration and Deployment

When an engineer at DoorDash opens a GitHub pull request, our goal is to quickly and automatically provide information about code health. GitHub’s status API compliments GitHub webhooks, which allow you to trigger custom routines as events fire in your GitHub account. When developers push to our largest repo, they see something like this at the bottom of ...

Jonathan Block

Tips for Building High-Quality Django Apps at Scale

At DoorDash, most of our backend is currently based in Django and Python. The scrappy Django codebase from our early days has evolved and matured over the years as our business has grown. To continue to scale, we’ve also started to migrate our monolithic app towards a microservices architecture. We’ve learned a lot about what ...

Alvin Chow Bernard Liang

Data at DoorDash: Transparent, Ubiquitous, and Still Just Getting Started

(Cross-posted from Job Portraits, a site that highlights fast-growing startup teams. For the interview below, Job Portraits spoke with Hendra, DevOps/Data Infrastructure Manager; Rohan, Engineering Manager; Preston, Data Scientist & M.L. Engineer; and Jessica, Head of BizOps/Analytics.) DoorDash tracks hundreds of variables to make sure a customer’s food arrives on-time and fresh, but the impact of data ...


Migrating from Heroku to AWS (using Docker)

At DoorDash, providing a fast, on-demand logistics service would not be possible without a robust computing infrastructure to power our backend systems. After all, it doesn’t matter how good our algorithms and application code are if we don’t have the server capacity to run them. Recently, we realized that our existing Heroku-based infrastructure wasn’t meeting ...

Alvin Chow

Implementing REST APIs with Embedded Privacy

Here at DoorDash, we’re tackling the problem of real-time delivery by integrating all players involved into our logistics platform. By controlling the entire stack of the delivery process, we believe we’re positioned to provide the most consistent logistics. In order to provide integrated logistics for our restaurant food delivery service, we’ve had to build out ...

Andy Fang

Subscribe to our Eng blog for updates

Thank you for subscribing!

Sign up for updates

Want More
Engineering Updates?

Susbscribe to the DoorDash engineering blog