Ilya Brin - Software Engineer

History is written by its contributors

IT Meetings: How Not to Turn Them Into a Waste of Time

Hey there, meeting lover! 👋

8 hours a week in meetings with zero results? Developers roll their eyes at the word “call”? Half the participants stay silent while the other half talks off-topic?

Bad meetings are the plague of the IT industry. They kill productivity, demotivate teams, and waste company money.

But there’s good news: effective meetings can be learned. Let’s break down specific techniques and tools for productive meetings 🚀

Continue reading

Go Channel Hell: How We Defeated chan map[string]*map[int]chan struct{}

2025-05-14 8 min read Golang Concurrency Refactoring Ilya Brin

Hey Gopher! 👋

Have you ever seen code like chan map[string]*map[int]chan struct{}? If yes, then you know what channel hell is.

This is a story about how we started simple, reached nightmare, and found an elegant solution. A real-time notification system that grew from 100 users to 100,000, and how we refactored the channel architecture.

Spoiler: we ended up replacing all this horror with 3 simple interfaces and typed channels 🚀

Continue reading

Test Doubles: Mocks, Stubs and Dependency Injection in Go

Hey tester! 👋

Are your tests slow, brittle, and dependent on external services? Every time the database is unavailable, half your tests fail?

Test Doubles are your salvation. Instead of real dependencies, use fakes: mocks, stubs, fakes.

Let’s break down how to properly isolate code for testing and write fast, reliable unit tests in Go 🚀

Continue reading
Older posts Newer posts