Articles
Learn from our experience developing the Deliveroo product.
Testing Go services using interfaces
Time to share some strategies for creating testable Go services using interfaces and generated mocks.
Shipping Quickly with a Large Team
We will walk through some proven techniques that we used to ship greenfield software quickly with a large team.
Go down the rabbit hole
Debugging a proxy that functions perfectly over the public internet, but fails when inside our Amazon VPC. Or how a friendly man in the middle sent me down a rabbit hole.
Moving from Ruby to Rust
How we migrated our Tier 1 service from ruby to rust and didn’t break production.
Improving Stream Data Quality With Protobuf Schema Validation
The requirements for fast and reliable data pipelines are growing quickly at Deliveroo as the business continues to grow and innovate. We have delivered an event streaming platform which gives strong guarantees on data quality, using Apache Kafka® and Protocol Buffers.
How to debug memory usage of a JVM-based application
What do you do when your JVM-based application gets OOM killed or exhibits wild memory usage pattern? In this blog post, I will explore some tools and concepts we can use to start debugging this problem.
Monte Carlo Power Analysis
Take advantage of computing power and empirical data to use Monte Carlo simulation to perform experiment power analysis.
How to use Charles Proxy to rewrite HTTPS traffic for web applications
Charles Proxy is an application that sits between your computer and the Internet to record HTTP(S) traffic. Most importantly for me, it has the ability to also modify a server’s HTTP response. I’ve been using Charles over the past few weeks to rewrite responses from our APIs and I’ve been slowly learning what Charles is capable of but also what it isn’t. Needless to say, there’s still a lot to learn, but the defining moment for me was when I was able to recreate a production bug, by replaying the JSON payloads to my local development server causing the same error to be raised.