Writing

Personal thoughts on self-development and reflection, sometimes about tech.

Irvan Irvan Mahendra · Dec 4, 2025

How to Write Effective Blameless Postmortems: A Guide to Learning from Incidents for Software Engineer

Incidents are inevitable — what matters is how your team responds. Learn how to write blameless postmortems that turn failures into learning opportunities without creating a culture of fear.

Irvan Irvan Mahendra · May 10, 2025

Balancing Perfection and Pragmatism in Software Development

Clean code and perfect architecture sound great, but sometimes business reality demands we just ship it. How can engineers balance both worlds?

Irvan Irvan Mahendra · Mar 3, 2025

In Praise of Legacy Code: Why Bad Code Deserves Respect

Legacy code is often seen as a burden, but without it, most companies wouldn’t even exist. Let’s explore why we should respect it, not just hate it.

Irvan Irvan Mahendra · Dec 4, 2024

The Uneasy Side of Building Automation Tools

A reflection on being asked to build automation tools that may make certain roles redundant—between pride in efficiency and the guilt of displacement.

Irvan Irvan Mahendra · Sep 17, 2024

Trunk-Based Development (TBD) in SaaS: Backward Compatibility, Gradual Rollout, and a Real Migration Case Study

A comprehensive, sequential guide to Trunk-Based Development (TBD) with SaaS-focused examples (HRIS & e-sign), backward compatibility patterns, gradual rollout playbooks, and an INT→DECIMAL subscription migration case study.

Irvan Irvan Mahendra · Jul 3, 2024

Distributed Locks (Without Microservices): A Deep Dive for Real-World Monoliths

Prevent race conditions in a single-application architecture: DB row locks, Postgres advisory locks, Redis locks (SET NX PX), and when a unique constraint is all you need.

Irvan Irvan Mahendra · Apr 27, 2024

Partitioning & Sharding: From One Big Table to Scalable Storage

A practical, staged playbook to introduce PostgreSQL partitioning (and later sharding) without rewriting your app.

Irvan Irvan Mahendra · Feb 6, 2024

Zero-Downtime Database Migrations: A Practical Guide

Learn strategies to migrate your database schema safely without taking production offline.

Irvan Irvan Mahendra · Nov 1, 2023

Database Indexing Strategies: From EXPLAIN to Index-Only Scans (PostgreSQL focus)

A hands-on methodology to design, validate, and maintain high-impact indexes in a single-app stack.

Irvan Irvan Mahendra · Sep 1, 2023

Lembur Bukan Prestasi

Budaya lembur sering dianggap bukti dedikasi, padahal lebih sering merupakan sinyal ada yang keliru dalam cara kita bekerja.

Irvan Irvan Mahendra · Jul 7, 2023

Membebaskan Diri dari Validasi Orang Lain: Merdeka Secara Psikologis

Kamu baru benar-benar bebas ketika tak lagi bergantung pada tepuk tangan orang lain.

Irvan Irvan Mahendra · Mar 26, 2023

Mengapa Tidak Semua Pendapat Perlu Dibantah

Mengenali kekuatan dalam diam dan kebijaksanaan dalam memilih pertempuran

Irvan Irvan Mahendra · Dec 1, 2022

Hello World

My first blog post — a brief introduction to who I am and what I'll be writing about here.