under construction


Translation as a service

The customer

There is a translation agency X. The customer succeeded in the local market and would like to expand into new regions. For now, X approaching each of the clients in a particular manner, but intends to standardize translation methods before go further. Another essential desire of X is connecting translation services with various CMSes of potential customers. Besides, X wants to allow different agencies to promote and re-use X’s services seamlessly.

When not only solutions but strategies and requirements need to be defined, the actual work of solution architect begins. A massive amount of efforts must…


In the article, I summarize and briefly describe principles and approaches which drive architecture & development in the form of questions and answers. This is the first portion of the article with a focus on soft parts. I wish I follow those principles always.

How to structure requirements gathering?

The complexity is to understand the goal and root cause behind the demand. The understanding allows you to comprehend priorities, way of evolution and possibly anticipate directions of changes. Let business express their desired state, or help them to acknowledge the problem. Bring all interested parties in the same room, if you don’t share a common…


Bots are smart, but the code behind isn’t

Choose API wrapper thoughtfully

Telegram’s bot API available over HTTP, and of course, there are tons of open-source API wrappers available. All of them pull changes periodically, wrap them into structures or models and pass inside functions.

Ensure in features supported


Why important

When important

Article covers

Problem definition

When memory…


This article demonstrates the replication overflow problem and proposes a solution by injecting own scalable replication agent.

Important when

Article covers

The common replication infrastructure

A single author (a source of change) and publish instances (destinations of change)

Problem definition

There are three possible reasons may lead to a slow replication: high data volume, high frequency and high latency between author…


Let’s say you build own Google Maps in Golang with MariaDB and would like to store ‘Favorite’ points on the map in the database. This article will demonstrate to you how to do that, relying on Sqlx library.

Sqlx is a package written for Go which among other features provides a standardised way to query the database and collect query results in models and vice versa. There is no built-in scanner for MySQL/MariaDB Geo Point type.

The database doesn’t store Point in public formats such as WKT or WKB, but in internal, AsBinary, AsWKB functions convert internal format in public…


Those signs demand a radical change.

Shrunk responsibilities

Responsibilities are not shrunk when there is a direct dependency between effort and compensation. When Junior Software Engineer could tell who is responsible for the program success/failure. When a clear responsibility matrix exist. When feedback is constantly collected, analyzed and concrete improvements happen.

Responsibilities are shrunk when e-mails are preferred over meetings and often ignored. When employees play communication “ping-pong”. When there are no clear performance metrics and assessments.

Core domains are outsources and failed

Core domains should be developed “in-house”, because of criticality and the need of evolving product knowledge. The…

Antoni Bertel

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store