At DoorDash, we make millions of predictions every second to power machine learning applications to enhance our search, recommendation, logistics, and fraud areas, and scaling these complex systems along with our feature store is continually a challenge.
Category Archives: Backend
Using Fault Injection Testing to Improve DoorDash Reliability
Three key steps are of paramount importance to prevent outages in microservice applications, especially those that depend on cloud services: Identify the potential causes for system failure, prepare for them, and test countermeasures before failure occurs.
How to leverage functional programming in Kotlin to write better, cleaner code
As DoorDash transitioned from Python monolith to Kotlin microservices, our engineering team was presented with a lot of opportunities to improve operational excellence and continue our obsession with reliability.
Moving e2e testing into production with multi-tenancy for increased speed and reliability
When DoorDash was on a monolithic application, developers’ end-to-end (e2e) testing needs were solved by sandboxes but, when DoorDash moved from monolith to microservices, we needed a more scalable approach to production testing.
Building a Unified Chat Experience at DoorDash
Resolving customer problems at scale is not an easy task, which is why the most feasible solution is implementing a chat feature; however, making these chat experiences unified and cohesive is a challenge in itself.
DoorDash customers often want to be able to talk to a customer support representative immediately.
Using Kotlin, React, and Postgres to Create a No-Code Platform for Building Customized Workflows
Creating a better customer experience often requires flexible software that can be updated to accommodate new situations without requiring developers to be involved.
Building a Platform to Translate DoorDash into Multiple Languages
Creating multiple language versions of the DoorDash app not only lets us offer our delivery logistics platform in more countries, it also removes language as a barrier to communications.
Using CloudFront Signed URLs with Built-In Authenticated Access to S3
While S3 has traditionally been a valuable resource for sharing documents its removal of V2 signatures has forced many companies to scramble for an alternative.
Scaling a routing algorithm using multithreading and ruin-and-recreate
At DoorDash, route optimization is a key component of our dispatch system, known internally as DeepRed.
The Beginner’s Guide to Kotlin Coroutine Internals
When moving from a monolith to a microservices architecture, engineering teams often need to master a new programming paradigm.