Not Following Design Patterns Rigidly: A Path to Creativity

Not Following Design Patterns Rigidly: A Path to Creativity

There’s a particular species of developer I see at conferences, speaking with absolute certainty about the One True Way to structure code. They cite Gang of Four like scripture, arrange their architecture with the precision of a Swiss watchmaker, and look at your pragmatic if-else statement like you just asked them to debug COBOL in the 1980s. They’re not wrong, exactly. They’ve just forgotten something crucial: design patterns are tools, not commandments....

November 26, 2025 · 8 min · 1550 words · Maxim Zhirnov
Отказ от жесткого следования шаблонам дизайна: путь к творчеству

Отказ от жесткого следования шаблонам дизайна: путь к творчеству

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

November 26, 2025 · 6 min · 1088 words · Maxim Zhirnov
The Art of Writing Non-Portable Code: When It's Beneficial to Lock-In

The Art of Writing Non-Portable Code: When It's Beneficial to Lock-In

We’ve been preached a gospel for decades: write portable code, avoid vendor lock-in, keep your options open. It’s like being told to never burn bridges or always leave yourself an exit strategy. Sensible advice, sure. But what if I told you that sometimes the best bridge to burn is the one you never needed to build in the first place? Here’s the uncomfortable truth that nobody in a conference talk wants to admit: pursuing absolute portability is often a form of premature optimization that masquerades as architectural wisdom....

November 9, 2025 · 8 min · 1657 words · Maxim Zhirnov
Искусство написания непереносимого кода: Когда выгодно использовать Lock-In

Искусство написания непереносимого кода: Когда выгодно использовать Lock-In

Нам десятилетиями внушали: пишите портативный код, избегайте привязки к поставщику, держите свои возможности открытыми. Это как если бы вам говорили никогда не сжигать мосты или всегда оставлять себе путь к отступлению. Разумный совет, безусловно. Но что, если я скажу вам, что иногда лучший мост, который нужно сжечь, — это тот, который вам вообще не нужно было строить? Вот неудобная правда, которую никто в докладе на конференции не хочет признать: стремление к абсолютной портабельности часто является формой преждевременной оптимизации, которая маскируется под архитектурную мудрость....

November 9, 2025 · 5 min · 1058 words · Maxim Zhirnov
The Benefits of Not Writing Tests for Every Piece of Code

The Benefits of Not Writing Tests for Every Piece of Code

You know that feeling when you’re staring at a five-line getter function, and your linter is screaming at you because coverage is at 87% instead of 95%? Yeah. That’s the moment I want to talk about. The testing community has done an incredible job evangelizing unit tests—and for good reason. Tests catch bugs, they provide confidence, they act as safety nets. But somewhere along the way, we’ve collectively developed test-writing religiosity....

November 8, 2025 · 8 min · 1686 words · Maxim Zhirnov