Ilya Brin - Software Engineer

History is written by its contributors

Command Pattern in Go: Encapsulating Requests as Objects

2025-09-29 8 min read Patterns Ilya Brin

Command Pattern turns requests into objects. Instead of directly calling a method, you create a command object that encapsulates all information about the action: what to do, with what parameters, on which object.

It’s like an order in a restaurant: the waiter doesn’t cook the food themselves, they write the order on paper and pass it to the kitchen. The paper is the command. It can be delayed, canceled, repeated, or passed to another cook.

Continue reading

How to Make Technical Decisions in Product Teams

Hey there! 👋

You’re not just a coder - you’re an architect of the future. Every technical choice you make is either a breakthrough or tech debt for the next year.

But here’s the problem: there are tons of opinions around, deadlines are burning, and your decision determines whether the product will soar or crash at launch.

Let’s figure out how to make technical decisions quickly, confidently, and without the subsequent “what the #@!^? did I choose?”

A guide for those who don’t want to shoot themselves in the foot

Continue reading

Project Crisis: How Not to Panic and What to Do

Hey captain! 🚨

Project is on fire, deadline in a week, but only 30% is ready? Key developer got sick, production crashed, and the client demands explanations?

Project crisis is not the end of the world. It’s a test of professionalism. Right actions in the first hours of crisis determine whether it becomes a catastrophe or valuable experience.

Let’s break down the step-by-step algorithm for crisis management in IT projects 🚀

Continue reading

Consistent Hashing: The Math Behind Load Balancing

Hey there! 👋

Imagine: you have 1000 servers and millions of requests. How do you distribute load evenly so that adding a new server doesn’t require rehashing everything?

Regular hash(key) % servers becomes a disaster when scaling. Add one server and 90% of data needs to be moved!

But there’s an elegant solution: Consistent Hashing. The mathematics that saves you from chaos in distributed systems.

Let’s dive into the algorithm used by Amazon DynamoDB, Cassandra, and Redis Cluster 🚀

Continue reading
Older posts Newer posts