Hi there 👋

My name is Maksim Zhirnov. I’m a Growth Marketing Expert & MarTech Engineer. I help tech companies scale through data-driven marketing strategies, powered by my engineering background. I love building marketing systems that drive growth and sharing insights on the intersection of technology and customer acquisition.
Choosing between OLTP, OLAP, and analytical databases for real products

Choosing between OLTP, OLAP, and analytical databases for real products

Introduction In the world of data management, choosing the right type of database system is crucial for the success of any application. The three main types of databases are Online Transaction Processing (OLTP), Online Analytical Processing (OLAP), and analytical databases. Each type has its own strengths and weaknesses, and choosing the right one depends on the specific requirements of your application. OLTP: The Workhorse of Transactional Applications OLTP systems are designed for handling a large number of short online transactions....

July 24, 2026 · 5 min · 908 words · Maxim Zhirnov
The Case for Not Encrypting Absolutely Everything

The Case for Not Encrypting Absolutely Everything

Introduction In the age of digital surveillance and data breaches, encryption has become a cornerstone of cybersecurity. It’s the digital equivalent of a vault, protecting our sensitive information from prying eyes. But as with any powerful tool, it’s important to use it wisely. In this article, we’ll explore the case for not encrypting absolutely everything. We’ll look at the pros and cons of encryption, and discuss when it’s appropriate to use it—and when it’s not....

July 20, 2026 · 3 min · 539 words · Maxim Zhirnov
Domain-driven design for busy engineers: the 20% you actually need

Domain-driven design for busy engineers: the 20% you actually need

Introduction Welcome, fellow engineers! In the whirlwind of modern software development, where buzzwords fly faster than you can say “microservices,” it’s easy to get lost in the hype. Today, we’re going to demystify one of those buzzwords that has stood the test of time: Domain-Driven Design (DDD). But don’t worry, we’re not diving into a philosophical treatise; we’re here to give you the 20% that will make 80% of the difference in your projects....

July 17, 2026 · 4 min · 748 words · Maxim Zhirnov
SLOs and Error Budgets: Real Reliability or Just New Management Buzzwords?

SLOs and Error Budgets: Real Reliability or Just New Management Buzzwords?

Introduction In the world of DevOps and Site Reliability Engineering (SRE), the terms “Service Level Objectives” (SLOs) and “error budgets” have become increasingly popular. But are they just new management buzzwords, or do they offer real value in ensuring the reliability of our systems? In this article, we’ll dive deep into the concept of SLOs and error budgets, exploring their practical applications, benefits, and potential pitfalls. What are SLOs and Error Budgets?...

July 13, 2026 · 4 min · 677 words · Maxim Zhirnov
Practical Go patterns: error handling, context, and concurrency

Practical Go patterns: error handling, context, and concurrency

Error handling in Go Go’s approach to error handling is often a topic of debate among developers. Some love it, some hate it, but one thing is for sure: it’s unique. In Go, errors are values, and you handle them using the if err != nil pattern. This might seem verbose, but it encourages explicit error checking and handling. The if err != nil pattern Let’s look at a simple example:...

July 10, 2026 · 4 min · 778 words · Maxim Zhirnov