Join Our Team

Backend

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

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
Backend

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

Subscribe to our Eng blog for updates

Thank you for subscribing!

Sign up for updates