Backend

Software Architecture: Monolith, Microservices and the Distributed Monolith Trap

Software Architecture: Monolith, Microservices and the Distributed Monolith Trap

Many young Backend programmers tend to view software architecture models as a religion or a measure of skill. Microservices are often revered as the pinnacle of technology, Monolith is labeled as outdated, while Distributed Monolith - the worst state - is often mistaken for real microservices.

Read More
MySQL vs PostgreSQL from an interview perspective: Read/Write-Heavy and MVCC mechanism

MySQL vs PostgreSQL from an interview perspective: Read/Write-Heavy and MVCC mechanism

MySQL vs PostgreSQL is a classic topic in backend engineer interviews. The interviewer asks this question not to hear you list superficial features like “Postgres supports JSON better” or “MySQL is more popular”. They want to assess your in-depth understanding of storage architecture, transaction control mechanisms, and how the system operates under various high-load conditions.

Read More
Golang disables Nagle's Algorithm by default: A performance trick on unstable networks

Golang disables Nagle's Algorithm by default: A performance trick on unstable networks

Hello everyone, today I want to share with you a funny and sad story that I and many of my fellow system engineers have experienced.

Read More
LeanCTX: Context Engineering Machine for AI Agents - Not Just Token Compression

LeanCTX: Context Engineering Machine for AI Agents - Not Just Token Compression

Introduction: The Day I Realized I Was Fueling a Jet with My Wave It happened like this.

Read More
Headroom vs Aphrodite: The Context Compression War - Your LLM is Burning 90% of Tokens on Junk

Headroom vs Aphrodite: The Context Compression War - Your LLM is Burning 90% of Tokens on Junk

$80 per Bookmark In April, I was debugging a trace why the service menu was returning 500. Claude Code ran, sent the stack trace in, loaded the service file, then sent the gateway file, and also sent the DB schema. 3 seconds later - bing - it responded. After reading it, I just sat there in silence.

Read More
When to use cache and when not to

When to use cache and when not to

There is a production bug that I still remember vividly: user A cancels an order, but the app still displays “delivering” for the next 10 minutes. Support receives 30 tickets in one morning. The reason: cache TTL is 10 minutes, but no one invalidates it when the order status changes.

Read More
API Filtering: retrieving data like a coffee connoisseur

API Filtering: retrieving data like a coffee connoisseur

In my first year of working, I once wrote an endpoint GET /api/menus that returned… the entire menu. 200 items every time it was called. The JSON was 1.2MB heavy. The frontend only needed the name and price of 10 active dishes. I remember the first thing my lead said: “You’re sending the entire warehouse to someone who just needs to view the menu, aren’t you?”

Read More