Articles

Learn from our experience developing the Deliveroo product.

How to Experiment Rapidly Without Losing Rigour

As data scientists at Deliveroo we evaluate our work via robust experimentation, and we take a frequentist hypothesis testing approach. The standard method places a lot of importance on deciding upfront how large an impact we believe any experiment might have. If the estimated impact is very different to the actual impact, we might waste a lot of time running an experiment where we could have obtained a result sooner. This means that we can’t iterate and innovate as quickly as we would like. Our preferred solution to this problem is sequential experiment designs.

Read more…


Testing with Third Party Services in Go

Taking advantage of Golang’s duck typed interfaces and net/http/httptest to test third party dependencies in web applications.

Read more…


Building a Payments Lambda with Terraform

While integrating with a new payment provider, we needed to sync merchant ids via SFTP. We built an AWS Lambda function with Terraform to do this. I’ll walk through our Terraform configuration and the hurdles we overcame around accessing the S3 bucket and retrieving sensitive credentials.

Read more…


Optimising a simple ActiveRecord query

Last week a seemingly simple ActiveRecord query was causing problems on production, by being incredibly slow. Together with my colleague Marty I debugged the issue and as a result we decreased the query time from about 80 seconds to about 100 milliseconds.

Read more…


How to migrate your API and still be friends with your fellow client developers

One of the best things about working in Deliveroo Engineering is that we have the opportunity to work on a great ever-changing product, which means we are constantly evolving, improving and facing new challenges. One of the main problems we have right now, which is a great problem to have, is the fact that we have grown so much that our monolithic application can’t hold everything in just one place anymore.

Read more…


What does an Engineering Manager do at Deliveroo?

Do many software engineers know what an Engineering Manager (EM) actually does? As I moved through several companies through my career I saw this role in so many different colors and forms. Every time I was wondering - what is this job actually? I am not going to come with an exhaustive definition as I doubt it exists… However I’ve recently moved from Software Engineering role to an Engineering Manager, so hopefully my fresh memories and this post will help anyone who’s interested to find out more about what it’s like to be an EM at Deliveroo.

Read more…


Application Deployment at Deliveroo

Our services are rapidly growing in number and we need a scalable way of managing the mayhem. Over the course of a year, our site was served as a single monolith and is now composed of over 50 services.

Read more…


Migrating from Buddybuild to Bitrise

At the start of the year Apple announced their acquisition of Buddybuild, along with the news that Android support would end by March. This meant we had to find an alternative quickly, and Bitrise was our eventual choice. Here’s why, and how we switched.

Read more…


Interning at Deliveroo

Reemma writes to us after her time working with Deliveroo during her internship to tell us about her impressions of the company, her team, and what she accomplished with us over the Summer.

Read more…

Page 6 of 9