Learn about high impact projects that power our velocity, reliability, and innovation.
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 ...
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 ...
“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 ...
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, ...
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 ...
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 ...
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 ...
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 ...
In May, DoorDash participated at the O’Reilly Artificial Intelligence Conference in New York where I presented on “How DoorDash leverages AI in its logistics engine.” In this post, I walk you through the core logistics problem at DoorDash and describe how we use Artificial Intelligence (AI) in our logistics engine. LAST-MILE LOGISTICS IN A THREE-SIDED ...
By Rohan Shanbhag and Wei Lin, Software Engineers Most Android apps rely on network calls to a set of backend services. As an app grows, so does the complexity of network calls and data operations. Networking libraries like Retrofit and Volley provide all the functionality needed for basic API calls. However, for threading and sequencing of events beyond a ...
Customers come to DoorDash to discover and order from a vast selection of their favorite stores, so it is important to be able to surface what is most relevant to them. In a previous article, Powering Search & Recommendations at DoorDash, we discussed how we built our initial personalized search and discovery experience to surface the ...
To A/B or not to A/B, that is the question Overview On the Dispatch team at DoorDash, we use simulation, empirical observation, and experimentation to make progress towards our goals; however, given the systemic nature of many of our products, simple A/B tests are often ineffective due to network effects. To be able to experiment ...