Incident Response doesn’t have to be painful: Common pitfalls and recommendations


This post challenges misconceptions about chaotic on-call and livesite practices, offering lessons from extensive experience. It introduces common red flags like call hell, hero worship, and the wild west, and provides solutions. These include customer-focused monitoring, monitoring pruning, 1-2-3 troubleshooting rule, follow-the-sun schedules, and repair item deadlines. As services mature, standardized incident response and efficient toil control practices become crucial.

No Surprises: A framework for Software Quality


When most teams complain about poor quality, they usually mean reliability woes; however, quality spans a more extensive spectrum and can mean many things. If you complain about your software being of low quality, what dimension do you mean? Use the Maslow quality hierarchy to identify the pertinent challenges and make the right tradeoffs.

Quick estimation tips for engineers


Engineers need to estimate system performance and simulate real-life scenarios. For most engineering fields, there are rich banks of proven theories and mathematical relations to rely upon. Unfortunately, software engineering - the new kid on the block - has a few rigorous rules, most times we rely on heuristics and handed-down wisdom.

What is Semantic Versioning (SemVer)?


Software Versioning Software versioning has always been a problem for software developers, release managers and consumers since time immemorial. For developers, the challenge lies in releasing new breaking changes while simultaneously minimizing consumer upgrade pains. On the flip side; consumers, when they finally decide to upgrade to new-shiny-release-10000, want to be sure they are not buying a one-way-ticket … Continue reading What is Semantic Versioning (SemVer)?

The Myth of Perfect Software


Programs do not acquire bugs as people acquire germs, by hanging around other buggy programs. Programmers must insert them... Harlan Mills Software breaks all the time: booting issues, corrupt software and files, crashes etc; nearly everyone has had a close shave or two with fragile software. Can programmers write 'perfect' fault-free software? I presume a trip to … Continue reading The Myth of Perfect Software

The Singleton Pattern


I stumbled upon the singleton pattern while reading a PHP book and fell in love with its simplicity. I rushed to use it at every single opportunity I got (when you have a hammer, everything looks like a nail, right?) until I got tired of it; now I can't really remember when I used it … Continue reading The Singleton Pattern

Beautiful Code 1 : 5 Symptoms of Software Rot


I used to wonder why people would refer to software development as an art; to me there was absolutely no correlation between programming and art. However, after hacking at software for years and writing all sorts of software: crappy ( I bet I'll would hide my face in shame if I see some of my old code), good and ugly, I believe it is an art.