Blog
Thoughts and deep-dives on backend development, system design, performance, and software engineering.
Most engineers get burned by this: storing money with the wrong data type. I recently fixed a bug where a value like 23434554.34 couldn’t be saved because the column was defined as an integer. This po
When you watch a live football match online or join a video call, the platform isn’t sending the entire video at once. The video and audio are broken into small packets of data that continuously flow
Following my recent article on concurrency and parallelism, a natural question comes up: what actually performs the work inside our programs? The answer is threads. Imagine a kitchen where one cook pr
The core difference between a stack and a queue is simple: a stack follows Last-In, First-Out (LIFO), while a queue follows First-In, First-Out (FIFO). What matters for senior engineers and leaders is
Big-O notation is a simple way to think about how a program behaves as the amount of data grows. While modern computers are fast and memory is abundant, software engineering is rarely about what is st
Before Meta acquired WhatsApp, its core was built on Erlang/OTP — a language designed for massive concurrency and fault tolerance. Perfect for a global messaging platform. Fun facts: ✔ WhatsApp doesn’
Stay Updated
Get notified when I publish new articles on backend development and system design.
Sign up to follow