Join Our Team

Backend

Backend Data

Integrating a Search Ranking Model into a Prediction Service

Learn how moving ML models to a prediction service can free up RAM and CPU for more scalable development

Sarah Chen
Backend

Eliminating Task Processing Outages by Replacing RabbitMQ with Apache Kafka Without Downtime

Learn how we utilized a custom Kafka solution to reduce outages and enable horizontal scalability for task processing

Saba Khalilnaji Ashwin Kachhara
Backend

Building Reliable Workflows: Cadence as a Fallback for Event-Driven Processing

Reengineering our event-driven delivery service for DoorDash Drive into Kotlin, we added the open source Cadence as a fallback for retries.

Alan Lin
Backend General

Scaling Splunk Securely by Building a Custom Terraform Provider

Ensure your growing team can search, analyze, and visualize data securely by integrating Splunk with a custom built Terraform provider.

Esha Mallya
Backend Data Machine Learning

Enabling Efficient Machine Learning Model Serving by Minimizing Network Overheads with gRPC

Learn the challenges of reducing network overheads with gRPC optimizations

ArbazKhan
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
Backend

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
Backend

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
Backend

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
Backend

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

DoorDash architects its search system using open source technologies to help determine consumer selection.

Richard Hwang Aamir Manasawala

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