#Reliability

Writing on keeping systems dependable under load, change, and failure.

January 31, 202614 min read

Why Airport Security Feels Random

I’m about to take yet another flight, this time flying to India. I’m excited, but then I can’t seem to pass the thought of why the heck security checks are so random. I had to c...

November 18, 202511 min read

What Good Execution Looks Like

The other day I was talking with one of my directs. We ended up discussing something we’ve both learned over the years. When execution works, the environment is quiet. Not slow....

October 5, 20253 min read

Managers Have Been Vibe Coding All Along

Everyone’s been talking about vibe coding lately. I’ve been doing it myself. two projects. and . It’s the kind of work where you don’t analyze, architect, or overthink. You star...

August 1, 202510 min read

Technical Deep Dives

When someone asks for a technical deep dive, they don’t care if . They want proof that you actually understand the beast you’ve built. Can you walk me through the system like yo...

July 26, 202512 min read

Building Remote Teams

You've probably heard stories of big tech companies in US and hiring double that number in India, blaming AI for the shift. Everyone's first thought is likely cheap labor. While...

October 6, 20249 min read

Balancing Act of Reliability

Software development involves both creating and maintaining systems. Once you put anything into production, reliability becomes critical. When your systems are not reliable, you...

June 5, 20246 min read

Operational Skills Needed

Over the years, I've interviewed many candidates. One crucial skill that often gets overlooked is operational reflexes during oncalls. Surprisingly, few companies test for this,...

January 13, 202410 min read

Engineering Health Essentials

Engineering health is a term that deserves far more attention than it receives. Sustainable software development is not only about the features we ship or the speed at which we...

November 6, 202315 min read

Becoming a Rockstar Engineer

In the software development realm, people often debate about 10x engineers or rockstars. But what does that really mean? How can you become one? There isn’t an easy answer, but...

November 2, 20236 min read

Silent Guardians of Quality

In the realm of software development, testers are the silent guardians. Their role is often misunderstood and underappreciated, especially when they do their job so well that no...

October 2, 20234 min read

Why Metrics Don’t Equal Quality

In 1902, Hanoi was drowning in rats. The government was getting nervous about plague. Hence, the city put a bounty per rat tail. Suddenly, the system had a scoreboard, something...

March 20, 20226 min read

Update Statements on Production

Executing update statements on a production database is always a big challenge. It’s one of those tasks that looks deceptively simple until something breaks in ways you didn’t i...

February 21, 20226 min read

Essential Engineering Principles

Engineering principles give teams a practical foundation for how to build and operate software. They guide decisions, shape behaviours, and help groups stay aligned even as syst...

February 7, 202212 min read

Building a Technical Vision

A technical vision is the compass of an engineering organization. It sets the longterm direction. I believe it should define the "why" and "where" behind the technical choices t...

December 29, 202114 min read

Service Overload Strategies

Service overload happens a lot. If you haven't seen one, count yourself lucky. The first time I watched it take a system down, I realized how serious it’s to get the basics righ...

December 25, 202134 min read

Designing A Key-Value Store

I’ve been asked once to design a key value store in an interview. It looks easy at first. Then it gets hard, fast. What makes it interesting is how ambiguous it is. I started us...

November 26, 202117 min read

Promoting Learnings in Incidents

Incidents are used for the negative consequences of an action. The incident comes from an action that fails to result in the expected outcome. For instance, deploying a code to...

August 6, 20197 min read

Before You Import That Library

Software development depends a lot on open source projects. From operating systems to editors, we use open source software everywhere. Nevertheless, we should be careful about w...

July 11, 20183 min read

Simple Mutual Exclusion

When we design services for high availability, we often deploy more than one instance of the same application. It might be two servers behind a load balancer or a few nodes shar...

December 15, 20178 min read

You Know State Is NO Good

Every engineer learns this the hard way. You think the logic is solid, your tests are green, and your deployment goes smoothly. Looks all good, right? Then you have an outage. N...

September 13, 20165 min read

You Cannot Fix What You Cannot See

I have been working on this data discovery tool for a while, and it keeps showing me how messy our systems really are. The idea behind it is simple. Crawl every database we have...

July 25, 20162 min read

Ufak Servisler

Ufak servisler(micro services) son zamanlarda yazılım alanında sıkça yaygınlaşan bir yöntem. Micro'yu ufak diye çevirmek hoşuma gitti ama tahminen mikro daha çok kullanılır. Zat...

October 15, 20155 min read

Local vs Production Debugging

I have been debugging this data workflow tool we built in house lately. It has an Angular UI and a Java backend, and it moves data between different systems like Postgres to Hiv...

October 4, 20128 min read

XA Transactions: A Simple Guide

In early days of computing, there was no need for distributed transactions, everything lived in one place. As number of applications increased, synchronization of the data becom...