en | ru

Agentic workflows for non-coding tasks


Writing code with AI is definitely cool and fun, but it doesn’t really impress me. After all, not having the code written automatically before is a lack of tooling, not a core constraint — there is nothing sacred in coding.

What fascinates me — other “human processes”, which require a lot of effort, a lot of brain power, but are often less visible than coding or meetings.

I like to apply the power of AI where the process itself is non-deterministic (unlike coding) — and leverage the nature of LLM to make the process better. And here I’m going to share with you how I do it.

..  »

Gazing at a Crystal Ball


What is software engineering? A mixture of science and craftsmanship, built on rules and logic. Once done, we expect a program to run the same predictable way, over and over again.

Applications therefore are deterministic: the same input leads to the same output (if we treat state and side effects as input). But we still somehow have bugs, not because the app magically changes its behavior, but because programs are complex, and because we are humans.

..  »

How IaC Improves Business Profitability


As a platform architect, I often discuss Infrastructure as Code (IaC) with my clients. This simple shift in IT infrastructure management, which has been widely adopted by the modern tech industry, has many implicit benefits. In this article, I will explain what adopting IaC means for businesses and how it can help reduce costs and increase profits for the whole organisation, whether technical or non-technical.

..  »

Many Layers of Availability


Today’s world is very different from what it was 20 years ago. We are used to a website loading in a second, a mobile app calculating a complex route in moments, or ordering a taxi with one button. This is made possible by combining many technologies and approaches that ensure smooth and fast operation.

It is hard to imagine a taxi service suddenly stopping for 10 minutes. It is equally hard to picture a map or GPS navigator that suddenly stops updating, or a major online store freezing during payment.

..  »

Step outside the Happy Path


In software engineering, the term happy path refers to the ideal scenario where everything works as planned. It’s natural to begin system design by focusing on these positive scenarios - they’re simple, straightforward, and align with how most people envision their product functioning.

However, stopping at the happy path is a mistake. While it’s often sufficient for stakeholders from business backgrounds who lack technical expertise, it fails to address the majority of a system’s complexity. Robust systems excel not in perfect conditions but in their ability to handle problems and recover from failures.

..  »

Virtual Machine Scaling


Virtual machines (VMs) are the basic building block of cloud infrastructure - all cloud products like databases, orchestrators, message queues, functions and others are based on them. Many companies also use virtual machines as the foundation of their cloud landscape, running all sorts of services and applications on them.

In this article, I will explain ways and approaches for scaling VMs.

..  »

Where to Place Logger in Golang?


Logging is an integral part of any application. However, the correct location and use of the logger in the project structure raises questions even for experienced developers.

There are several ways of doing this, of which I give preference to one. I will explain why.

..  »

Basics of cloud scaling


In this article, you will learn what application scaling is, and how cloud infrastructure simplifies the process and makes it more useful for business.

..  »