While writing complex services in go, one typical topic that you will encounter is middleware.
Category Archives: engineering
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.
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.
Speeding Up Redis with Compression
One of challenges we face almost everyday is to keep our API latency low.
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.
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.
Reinforcement Learning for On-Demand Logistics
Overview
Introduction
What is the assignment problem at DoorDash?
Scaling StatsD
Overview
Monitoring is hugely important, especially for a site like DoorDash that operates 24/7.
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!
How Artificial Intelligence Powers Logistics at DoorDash
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.