The Most Dangerous Phrase in Engineering: "We've Always Done It This Way"

The Most Dangerous Phrase in Engineering: "We've Always Done It This Way"

The phrase sits in your codebase like a time bomb with a burnt-out LED timer. Nobody remembers who installed it, why it’s there, or when it became “the way things are done.” But there it is—legacy patterns, architectural decisions, and processes that have calcified into absolute truth simply through the passage of time and institutional inertia. The most dangerous phrase in engineering isn’t a syntax error or a null pointer exception....

February 5, 2026 · 9 min · 1755 words · Maxim Zhirnov
Самая опасная фраза в инженерном деле: 'Мы всегда делали это таким образом'.

Самая опасная фраза в инженерном деле: 'Мы всегда делали это таким образом'.

Фраза сидит в вашей кодовой базе как бомба замедленного действия с перегоревшим светодиодным таймером. Никто не помнит, кто её установил, зачем она там и когда стала «принятым порядком вещей». Но она есть — устаревшие шаблоны, архитектурные решения и процессы, которые с течением времени и из-за инерции учреждения превратились в абсолютную истину. Самая опасная фраза в инженерии — это не синтаксическая ошибка или исключение нулевого указателя. Она гораздо тише и коварнее: «Мы всегда делали это так»....

February 5, 2026 · 5 min · 924 words · Maxim Zhirnov
Practical Caching Patterns: TTL, Cache-Aside, and Write-Through Explained with Real Code

Practical Caching Patterns: TTL, Cache-Aside, and Write-Through Explained with Real Code

If you’ve ever watched your database buckle under load while your cache sits there pristine and underutilized, you know the pain. I’ve been there—watching connection pools max out, query times climb into the seconds, and users watching spinners that never complete. The problem? A caching strategy that looked great on a whiteboard but fell apart in production. Caching isn’t black magic. It’s more like seasoning in a recipe—use it wrong, and you ruin the dish....

January 30, 2026 · 12 min · 2538 words · Maxim Zhirnov
Практические шаблоны Кэширования: TTL, отказ от Кэширования и сквозная запись, объясненные с помощью реального кода

Практические шаблоны Кэширования: TTL, отказ от Кэширования и сквозная запись, объясненные с помощью реального кода

Если вы когда-либо наблюдали, как ваша база данных проседает под нагрузкой, в то время как кэш остаётся нетронутым и недостаточно используемым, вы знаете, что это боль. Я был в такой ситуации — наблюдал, как пулы соединений достигают предела, время запросов растёт до нескольких секунд, а пользователи смотрят на вращающиеся индикаторы, которые так и не завершаются. Проблема в том, что стратегия кэширования, которая отлично выглядела на доске, развалилась в production. Кэширование — это не чёрная магия....

January 30, 2026 · 5 min · 1055 words · Maxim Zhirnov
Building Resilient Systems Without the Kubernetes Zoo

Building Resilient Systems Without the Kubernetes Zoo

We’ve all been there. Your team decides that Kubernetes is the solution to all infrastructure problems, and suddenly you’re managing 47 different CRDs, debugging networking issues that seem to violate the laws of physics, and spending more time troubleshooting your orchestrator than actually deploying applications. The irony? You just needed a simple, resilient system. Let me be clear: Kubernetes is powerful. It’s also complex. And complexity is the enemy of resilience....

January 18, 2026 · 11 min · 2340 words · Maxim Zhirnov