Fast Feedback Loop for Kubernetes Product Development in Kubernetes

Learn how DoorDash used Signadot and multi tenancy to create a fast feedback loop for our Kubernetes port forward deployment strategy | Continue reading


@doordash.engineering | 1 year ago

Leveraging Causal Inference to Generate Accurate Forecasts

Learn how DoorDash captures hard to measure macroeconomic effects like IRS refunds and the effect of Daylight savings in these case studies | Continue reading


@doordash.engineering | 1 year ago

Improving Fault Tolerance with RPC Fallbacks in DoorDash’s Microservices

Failures are inevitable, so building fault tolerance through retries, replication, and fallbacks is critical to ensuring a positive user experience | Continue reading


@doordash.engineering | 1 year ago

How I use Backdoor Adjustment to measure effects when AB test is impossible

When A/B testing is not recommended we can still quickly implement a new feature and measure its effects in a data-driven way. | Continue reading


@doordash.engineering | 1 year ago

How the SwiftUI View Lifecycle and Identity Work

We compare UIKit’s event-driven approach to SwiftUI’s data-driven one, then dive into the SwiftUI view cycle, identity, and rendering process | Continue reading


@doordash.engineering | 1 year ago

The Statistics Engine of Experimentation at DoorDash

Learn how DoorDash was able to test uniformly according to established best practices and reuse complex statistical methods with Dash AB | Continue reading


@doordash.engineering | 1 year ago

Faster Financial Partnership Integrations Using Cadence

Read the technology review we conducted to find the right task management technology for Dashpass onboarding. Learn why we chose Cadence | Continue reading


@doordash.engineering | 1 year ago

Using Fault Injection Testing to Improve DoorDash Reliability

When failure is inevitable, building fault tolerance with fault injection testing ensures that failures do not bring the platform down with them | Continue reading


@doordash.engineering | 2 years ago

DoorDash scaled SSR with Next.js

Displaying enticing product images with fast load speeds on high-traffic pages can be a hard. Learn how we implemented server side rendering with next.js | Continue reading


@doordash.engineering | 2 years ago

How to leverage functional programming in Kotlin to write better, cleaner code

Is functional programming a good paradigm to use for Kotlin development? Read this guide for direct coding comparisons between FP and OOP | Continue reading


@doordash.engineering | 2 years ago

Using a Multi-Armed Bandit with Thompson Sampling to Identify Responsive Dashers

Epsilon-Greedy, The Upper Confidence Bound, Thompson Sampling: which is the best Multi-armed bandit algorithm for promotion optimization? | Continue reading


@doordash.engineering | 2 years ago

Why Apple’s New M1 Chips Are Essential for Rapid iOS Development

When looking for ways to help our iOS developers become more productive the first step was buying them the new M1 Max Macbook Pros. | Continue reading


@doordash.engineering | 2 years ago

Balancing Network Effects, Learning Effects, and Power in Experiments

Experimenting can mean balancing learning and network effects, while ensuring adequate power. Learn how we manage this trilemna in this post | Continue reading


@doordash.engineering | 2 years ago

Building a Marketing Engineering Platform Using Next.js, Cloudflare, Contentful

Learn how we built a multi-tenant website platform with internationalization, analytics, shared components, and more... | Continue reading


@doordash.engineering | 2 years ago

Using CloudFront Signed URLs with Built-In S3 Authenticated Access

Read this extremely detailed example of how to set up a cheap, public, HTTPS service that can serve up files via signed URLs. | Continue reading


@doordash.engineering | 2 years ago

The Beginner’s Guide to Kotlin Coroutine Internals

When our team started using Kotlin for our backend development we created this guide so our engineers could use coroutines over Java threads. | Continue reading


@doordash.engineering | 2 years ago

DoorDash Quickly Spins Up Multiple Image Recognition Use Cases

Learn how DoorDash utilizes deep learning to power some of its image recognition use-cases. | Continue reading


@doordash.engineering | 2 years ago

One Solution to “The Most Dangerous Equation”

Learn how DoorDash Utilized Stein Shrinkage to perform subgroup analysis without the danger of high variances | Continue reading


@doordash.engineering | 2 years ago

Sibyl – Prediction Service at DoorDash

As companies utilize data to optimize and personalize customer experiences, it becomes increasingly important to implement services that can run machine learning models on massive amounts of data to quickly generate large-scale predictions. At DoorDash, our platform is utilizing … | Continue reading


@doordash.engineering | 2 years ago

Separating User Data with Multi-Tenancy to Improve User Management

Learn how multi-tenancy can help enable more convenient guest checkout by making it easier to separate user data. | Continue reading


@doordash.engineering | 2 years ago

Why Burnout Is Hard to Detect

Learn more about burnout, a common ailment in the tech community. In this new article we will discuss how burnout is caused and how to recover from it. | Continue reading


@doordash.engineering | 2 years ago

Increasing Operational Efficiency with Scalable Forecasting

Scaling forecasting to a large data team is not practical without a scalable platform. Learn how we built forecast factory at DoorDash | Continue reading


@doordash.engineering | 2 years ago

Improving Development Velocity with Generic, Server-Driven UI Components

Learn how Generic server driven UI enabled faster iterations and more experimentation on the DoorDash platform | Continue reading


@doordash.engineering | 2 years ago

Using ML and Optimization to Solve DoorDash’s Dispatch Problem

DoorDash delivers millions of orders every day with our last-mile logistics platform. Look under the hood and learn how the platform works | Continue reading


@doordash.engineering | 2 years ago

Principles for Building a World Class TPM Team

Learn about the principles DoorDash used to build and run a high-functioning and impactful TPM organization. | Continue reading


@doordash.engineering | 2 years ago

From Monolith to Microservices: Reducing the Migration's Pain Points

In this second article in our monolith to microservices series we talk about the benefits of the monolith we needed to replace or mitigate | Continue reading


@doordash.engineering | 2 years ago

DoorDash opens a new engineering office LA

DoorDash announces the opening of its newest engineering office, based in Los Angeles. | Continue reading


@doordash.engineering | 2 years ago

Examining Problematic Memory in C/C++ Applications with BPF, Perf, and Memcheck

As applications grow in complexity, memory stability is often neglected, causing problems to appear over time. When applications experience consequences of problematic memory implementations, developers may find it difficult to pinpoint the root cause. While there are tools avail … | Continue reading


@doordash.engineering | 2 years ago

Leveraging the Pipeline Design Pattern to Modularize Recommendation Services

Learn how DoorDash engineers used a pipeline design pattern to make our recommendation page more efficient and flexible. | Continue reading


@doordash.engineering | 2 years ago

Overcoming Rapid Growth Challenges for Datasets in Snowflake

To meet additional SLA's of DoorDash's rapidly growing team without increasing compute we had to rely on a variety of ETL optimizations. | Continue reading


@doordash.engineering | 2 years ago

Leveraging OpenTelemetry for Custom Context Propagation

Custom context propagation enables powerful use-cases for infrastructure, localization and testing. Learn how open telemetry can enable it | Continue reading


@doordash.engineering | 2 years ago

Japan Launch – Overcoming Localization Challenges

DoorDash defined four key challenges to getting its platform ready for an international launch. | Continue reading


@doordash.engineering | 2 years ago

DoorDash Rebuilding and Migrating a Session Management System with Zero Downtime

Migrating DoorDash's business-critical session management system in a disruption-free manner required careful planning and monitoring. | Continue reading


@doordash.engineering | 2 years ago

DoorDash: Migrating from Python to Kotlin for Our Back End Services

To support our migration to microservices we needed to find a new tech stack. Learn how we compared all the options and chose Kotlin | Continue reading


@doordash.engineering | 3 years ago

Managing Complex React State with the Class Pattern

Managing state in react can be a challenge. Learn how DoorDash utilized a class pattern when building its item modal to increase reliability | Continue reading


@doordash.engineering | 3 years ago

Optimizing OpenTelemetry’s Span Processor for High Throughput and Low CPU Costs

Learn how we used benchmarking to find a batch span processor that would help us utilize Open Telemetry while minimizing performance costs | Continue reading


@doordash.engineering | 3 years ago

Building a Gigascale ML Feature Store with Redis

How we managed billions of records by building a gigascale feature store by benchmarking several options and identifying Redis as the right key value store | Continue reading


@doordash.engineering | 3 years ago

Replacing RabbitMQ with Apache Kafka Without Downtime

When our task processing system would consistently fail we built a new scalable solution with Kafka and implemented it without downtime. | Continue reading


@doordash.engineering | 3 years ago

Doordash uses in-time aggregations on real-time data

DoorDash is a dynamic logistics marketplace that serves three groups of customers: Merchant partners who prepare food or other deliverables, Dashers who carry the deliverables to their destinations… | Continue reading


@doordash.engineering | 4 years ago

Writing Delightful HTTP Middlewares in Go

While writing complex services in go, one typical topic that you will encounter is middlewares. This topic has been discussed again, and again, and again, on internet. Essentially a middleware shou… | Continue reading


@doordash.engineering | 4 years ago

Avoiding cache stampede using Promise/Future/Deferred

By Zohaib Sibte Hassan, Software Engineer 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 fl… | Continue reading


@doordash.engineering | 5 years ago

Speeding up Redis using LZ4

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 some times. One of our endpoints that serves restaurant… | Continue reading


@doordash.engineering | 5 years ago