/images/avatar_2026.png

Logs, Metrics, Traces: How I Think About Observability in a Distributed System

Logs, Metrics, Traces: How I Think About Observability in a Distributed System How to check a system’s pulse and understand what is happening and where. Measuring is controlling; the time invested in implementing logs is never wasted but the best possible investment. Difference Between Debugging a Problem in a Monolith and in a Distributed System In the monolithic world, problem analysis is almost always a linear and predictable path: one codebase, one environment, one point of observation.

Leading the Team Through a Massive Refactoring Without Killing Delivery

Leading the Team Through a Massive Refactoring Without Killing Delivery Navigating the stormy sea of refactoring without sinking uptime and delivery. Trying to stay within sprint timelines without missing deadlines while doing deep refactoring and releasing new features is like walking on ice: every step might be the right one… or the one that cracks everything open. Massive refactoring has a cruel characteristic: the value of the work is not visible until the end, while the costs are perceived immediately.

How to Decide When to Break Up a Monolith: Signals and False Positives

How to Decide When to Break Up a Monolith: Signals and False Positives Understanding when the monolith is no longer the right fit for our situation. Microservices are like candy: you shouldn’t overdo it, or you’ll end up with a bigger problem than the one you started with. The monolith isn’t always bad: when and how to use it The monolith is often portrayed as a monster to be defeated, but the truth is that in the early stage of a product, it remains the most solid, economical, and fast way to evolve software.

Ideal Technology Stack for a Shipping Platform

Ideal Technology Stack for a Shipping Platform Choosing the right technology stack for a modern logistics platform means guaranteeing scalability, resilience, and performance in a sector where errors are not tolerated. The goal of this article is to outline the stack which, based on my hands-on experience, allows you to build and maintain a reliable system over time—one suitable for a mature product with a consolidated customer base. A B2B shipping platform is, in every respect, a mission-critical service.

From Maintenance to Product

From Maintenance to Product: the mindset shift that saved my career When you spend every day immersed in code, processes, systems, and urgent requests, you risk losing sight of a key truth: maintenance keeps the present alive, but only vision builds the future. For years, I thought that “keeping everything running” was enough. Until I realized I was keeping myself stuck as well. This article comes from that very mental shift that changed the way I work, lead teams, and look at technology: no longer as an endless series of interventions, but as a living product that grows.

CTO hands-on

CTO Hands-on Why a CTO Still Needs to Get Their Hands into the Code Being a CTO today doesn’t just mean leading a team, defining a technological vision, or negotiating budgets. It also means maintaining a solid connection with the raw material of our work: software. Being hands-on doesn’t mean writing code every day, but preserving the ability to “feel” the system, understand its dynamics, and recognize what is simple, what is difficult, and what is dangerous.