Trying to Wrap My Head Around The Dynamo Storage System: A Deep Dive

Introduction The world of databases is very interesting. To build a loveable product, a core infrastructure piece that's needed is the data persistence layer. I find this data persistence layer to be like a tip of the iceberg, the get and the put calls have so much going under the hood that it's mind blowing … Continue reading Trying to Wrap My Head Around The Dynamo Storage System: A Deep Dive

Introduction to LSM Trees: May the logs be with you

LSM Trees overview This post is a part of a newsletter that I run: “Scamming The Coding Interview“, which is geared towards helping people ACE their coding interviews. We send a coding question on weekdays along with a system design article like this one on weekends. Do subscribe If you find this article valuable. Introduction What will … Continue reading Introduction to LSM Trees: May the logs be with you

Architecting for Scale by Lee Atchison: Reading Experience

I recently read the book Architecting for Scale by Lee Atchison. The book contains a high-level overview of the major concepts that revolve around the topic of building highly-available and scalable apps.I felt the book to be more suited as a light read for people already familiar with these concepts rather than being an informative … Continue reading Architecting for Scale by Lee Atchison: Reading Experience

How To Objectively Reason About Systems: Correctness Properties Of A System

This post is a part of a newsletter that I run: "Scamming The Coding Interview", which is geared towards helping people ACE their coding interviews. We send a coding question on weekdays along with a system design article like this one on weekends. Do subscribe If you find this article valuable. When a new system … Continue reading How To Objectively Reason About Systems: Correctness Properties Of A System

Basics of Database Partitioning and Partition Strategies

You are a part of a startup which has recently scaled to reach a huge number of users. This means that the increased number of users are going to generate a huge amount of data that you have to store and manage.It soon becomes evident that managing a huge dataset is a major hurdle to … Continue reading Basics of Database Partitioning and Partition Strategies

Featured

A plea for lean software: 6 Lessons I learned to help keep software simple

  Preface Recently, I was browsing the codebase of my company and saw that it has three versions of dashboards for an analytics page in it. I am pretty sure that customers don't need that. This sparked something in my naive brain and I started exploring the internet for related ideas. That's when I found … Continue reading A plea for lean software: 6 Lessons I learned to help keep software simple

Tracking Metrics to Surface and Solve Problems: Metric Tracking Practices I’ve Learned So Far

It is a nice pleasant evening, you are sipping coffee and reviewing your code one final time, just so that you can gather enough confidence to hit the deploy button. But a fact of life as a software engineer is that things can go wrong. Small changes may result in unexpected outcomes, including outages, errors … Continue reading Tracking Metrics to Surface and Solve Problems: Metric Tracking Practices I’ve Learned So Far