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

Advertisements

Acceptance Tests: The Best Medium of Communication Between Stakeholders (if done right)

  It's a nice pleasant morning, and you have just entered the office. You greet your friends and grab a cup of coffee. You check your email and there is a new story assigned to you. "As a customer, I get my usage logs backed up" This is where is fun begins. Communicating Requirements A … Continue reading Acceptance Tests: The Best Medium of Communication Between Stakeholders (if done right)

Practical Problem Solving Framework: Inspired By The Toyota Way

We all will agree to a certain point that having a system/process for anything reduces chances of errors. As an engineer or someone people look forward to propose solutions to problems it's beneficial to have a framework in place to solve problems effectively. Recently I was reading The Toyota Way, and it suggested a framework to Practical Problem … Continue reading Practical Problem Solving Framework: Inspired By The Toyota Way

8 System Design Principles I learned After Doing It Wrong More than 50 Times!

  At Squad, we strive to build awesome products to solve customer(internal and external) needs. As a product engineer, paramount part of your job is to design and build products. Dig deep into the root cause of the problems, design solutions and implement them as the end product. Over the course of my journey so … Continue reading 8 System Design Principles I learned After Doing It Wrong More than 50 Times!

Deploying a nginx application using Kubernetes for Self-Healing and Scaling

Kubernetes is an open source system for automating deployment, scaling and management of containerized applications. A more technical term for it is, container orchestrator which is used to manage large fleets of containers. Minikube is an all-in-one single node installation for trying out kubernetes on local machines. And the following post covers deploying a nginx … Continue reading Deploying a nginx application using Kubernetes for Self-Healing and Scaling

Estimation Peril: How To Estimate Software Projects Effectively(or How Not To Lie)

Consider, you are a rockstar engineer and you are given a task by your favorite person, your project manager, to show some new fields in the dashboard. As usual, you are asked to estimate it as soon as possible. You think that well, seems like a quickie and you are tempted to estimate it a … Continue reading Estimation Peril: How To Estimate Software Projects Effectively(or How Not To Lie)

Clean Code Chapter 1&2: Clean Code & Meaningful names

I have started reading the book Clean Code by Robert C. Martin, which is considered to be a industry standard for writing maintainable and elegant code. Because this book is such a heavy read, and each chapter is full of content and a knowledge bank in itself, for personal reference I've decided to summarise each chapter in … Continue reading Clean Code Chapter 1&2: Clean Code & Meaningful names