Homepage
Open in app
Sign in
Get started
Engineering at Depop
Stories from the Engineering Team
Follow
Following
Exploring Kafka Consumer At-Least-Once Delivery Guarantees: Expectations vs. Reality
Exploring Kafka Consumer At-Least-Once Delivery Guarantees: Expectations vs. Reality
Kafka is an event streaming platform that we use widely at Depop. From clickstream data to service-to-service communication; the ability to…
Jon Soul
Mar 19
Does your data model still fit? Or how we uncovered a 24x cost optimisation in our data retrieval
Does your data model still fit? Or how we uncovered a 24x cost optimisation in our data retrieval
Written by Jan Ciechowski and Jon Soul
Jon Soul
Feb 5
Depop Engineering Principles
Depop Engineering Principles
We’re really proud to publish our engineering principles publicly, in an unedited form. We hope they give people a sense of our engineering…
Rafe Colburn
Oct 25, 2023
Feature-driven ML @ Depop
Feature-driven ML @ Depop
At Depop, we leverage machine learning in a wide range of impactful use cases including search, recommendations, fraud detection and…
Nikos Varelas
Aug 22, 2023
Meet The Team @ Depop —Russell — Senior iOS Engineer
Meet The Team @ Depop —Russell — Senior iOS Engineer
TBD
Russell Yeo
Jul 5, 2023
Meet The Team @ Depop — John Fletcher— Software Engineer
Meet The Team @ Depop — John Fletcher— Software Engineer
This is a post in an ongoing series meeting different members from the world of engineering at Depop. In this post, we meet John — a…
John Fletcher
Jun 27, 2023
How we Boosted Performance by 20% with a Python 3.11 Upgrade
How we Boosted Performance by 20% with a Python 3.11 Upgrade
“Just one line in a requirements.txt file”
Rob Parker
Jun 14, 2023
Writing a custom ESLint rule
Writing a custom ESLint rule
A guide on how to create a custom ESLint rule to help catch problems in your web code
Jonny Levy
May 23, 2023
Using Kafka Queryable State Stores for Connected Content
Using Kafka Queryable State Stores for Connected Content
Connected Content
Sofia Korableva
Mar 31, 2023
Codebase Snapshot: The Depop Website in 2023
Codebase Snapshot: The Depop Website in 2023
An overview of what goes into running the Depop website and the decisions that have been made along the way.
Jake Brown
Mar 21, 2023
Meet The Team @ Depop — Maria Karpathiotaki — Principal Engineer
Meet The Team @ Depop — Maria Karpathiotaki — Principal Engineer
A post in an ongoing series meeting different members from engineering at Depop. In this post, we meet Maria — a Principal Engineer.
Maria Karpathiotaki
Feb 22, 2023
Streaming DynamoDB tables using Scala and FS2
Streaming DynamoDB tables using Scala and FS2
At Depop we try to store data in AWS DynamoDB when appropriate. Inevitably though, this means that sometimes we need to read every item…
Joe Wells
Feb 7, 2023
Meet The Team @ Depop— Dan Hodkinson — Senior Engineering Manager
Meet The Team @ Depop— Dan Hodkinson — Senior Engineering Manager
Learn a little about Dan — a Senior Engineering Manager at Depop
Dan Hodkinson
Dec 6, 2022
Migrating to Ktor 2.0
Migrating to Ktor 2.0
Recently I migrated several Kotlin services using the Ktor framework from version 1.6 to 2.0. This is the first major version upgrade the…
Alexey Soshin
Aug 16, 2022
Show the people what they want! (without breaking the bank)
Show the people what they want! (without breaking the bank)
At Depop we have a huge inventory of unique products. For our buyers’ community, this is great; there is a diverse range of products they…
Calum Campbell
Jun 29, 2022
Clear and concise logging in Scala.
Clear and concise logging in Scala.
As I was working on a new Pricing Service for the Depop backend the other day, I realised that it needed more logging. A lot more …
Jon Humble
Jan 27, 2022
Monitoring Depop
Monitoring Depop
At Depop we care passionately about our users’ experience of our marketplace.
Jon Humble
Nov 2, 2021
Aiming For Accessible Excellence — The Journey at Depop Web
Aiming For Accessible Excellence — The Journey at Depop Web
When I started at Depop in 2019, our Web team was tiny and had just begun the process of rebuilding the website from scratch. While a lot…
Elizabeth Walker
Sep 23, 2021
How we improved our tech interviews at Depop
How we improved our tech interviews at Depop
Depop’s engineering department has grown significantly over the past few years, with more than 50 engineers joining us this year alone…
Frankie Jeffryes
Aug 26, 2021
Content Negotiation in HTTP
Content Negotiation in HTTP
Content negotiation is defined as:
Jon Humble
Jun 30, 2021
How we prevented a huge data loss during Black Friday week
How we prevented a huge data loss during Black Friday week
Written by Ethan Duncan-Stewart and Maria Karpathiotaki
Maria Karpathiotaki
May 18, 2021
Caching in Web APIs
Caching in Web APIs
There are only two hard things in Computer Science: cache invalidation and naming things.
Jon Humble
Apr 23, 2021
Using Hypermedia in Web APIs
Using Hypermedia in Web APIs
Like many companies, Depop makes significant use of Web APIs. Given the ubiquity of them within our company, we’re keen to ensure we get…
Jon Humble
Feb 26, 2021
A/B Test Bucketing using Hashing
A/B Test Bucketing using Hashing
Depop
Italo D'Amato
Feb 18, 2021
PostgreSQL arrays are powerful
PostgreSQL arrays are powerful
In this article I would like to cover the benefits of some built-in PostgreSQL functions.
Alexey Soshin
Jan 31, 2021
About Engineering at Depop
Latest Stories
Archive
About Medium
Terms
Privacy
Teams