Subscribe

DoorDash Engineering Blog

Learn about high impact projects that power our velocity, reliability, and innovation.

Subscribe for weekly updates

Subscribe
Mobile

How to detect iOS memory leaks and retain cycles using Xcode’s memory graph debugger

At DoorDash we are consistently making an effort to increase our user experience by increasing our app’s stability. A major part of this effort is to prevent, fix and remove any retain cycles and memory leaks in our large codebase. In order to detect and fix these issues, we have found the Memory Graph Debugger ...

Read More Vince Chau
Culture

Inclusion @ DoorDash

Engaging, encouraging, and empowering our community to value diversity and inclusivity through intentional decisions around hiring, rewards, and penalties. If you really care about something, it has to be at the core of what you do. At DoorDash we believe an inclusive environment is a competitive advantage. To reflect this, we integrated Diversity and Inclusion ...

Read More Mark Nachazel
Machine Learning

Experiment Rigor for Switchback Experiment Analysis

At DoorDash, we believe in learning from our marketplace of Consumers, Dashers, and Merchants and thus rely heavily on experimentation to make the data-driven product and business decisions. Although the majority of the experiments conducted at DoorDash are A/B tests or difference-in-difference analyses, DoorDash occasionally relies on a type of experimentation internally referred to as ...

Read More Carla Sneider
Culture

New Year, New York, New Office

As DoorDash expands its footprint into all 50 states, growing from 600 cities to 3,300 in the past year alone, it’s time for our Engineering Org to expand to keep pace. In addition to our engineering teams in San Francisco and Mountain View, a group of engineers from San Francisco recently moved to Manhattan to ...

Read More Rohit Raghunathan
Culture

Why I Joined DoorDash as a Software Engineer

For those of you that don’t know me, I’ve been writing blogs about preparing for technical interviews and about my startup. I ran a computer science club that helps engineers prepare for technical interviews and participated in Y-Combinator’s Startup School. Because I stopped working on my startup, I needed a (real?) job so I applied ...

Read More Ali Mir
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 ...

Read More 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 ...

Read More Zhaobang Liu
Mobile

Contract Testing with Pact

Introduction As we migrate our systems to a microservices-oriented architecture at DoorDash, we have taken care to balance the excitement around anticipated benefits (development velocity, deployment independence, etc.) with a more measured assessment of our preparedness to work with the complexities introduced by more distributed systems. One of the most common pain points with microservices — or, ...

Read More Erich Douglass
Machine Learning

Reinforcement Learning for On-Demand Logistics

Overview Introduction What is the assignment problem at DoorDash? What is reinforcement learning? Reinforcement learned assignment Moving forward Conclusion Introduction DoorDash recently held our thirteenth hackathon. Hackathons are our opportunity to explore new technologies and moon-shot ideas; they help us stay up-to-date with the world and think 10x. At DoorDash, we’re constantly thinking of ways ...

Read More Richard Hwang
Culture

My Engineering Internship Experience at DoorDash

Walking into the cafeteria on my first day, I could not help but notice five words written on big colorful boards: humble, thoughtful, bold, optimistic, and relentless. These represented the company’s values and I have to admit the first time I read them, I was confused. Of course, I knew what the words meant individually, but ...

Read More Ivy Wang
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 ...

Read More 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 ...

Read More Zohaib Sibte Hassan

Sign up for updates

Thank you for subscribing!

Sign up for updates