This blog is where I share my thoughts on building technology that solves customer problems, ranging from software engineering and architecture, to programming languages, engineering culture and effective teams.

I believe in writing from experience, so everything I put out I’ve seen working (or failing spectacularly) in my engineering practice.

Agree or disagree – it doesn’t matter; if you feel inspired and you get useful ideas out of reading my blog (especially if those are your ideas), I’ve done my job well.

Thank you!

About me

I am a software engineer at Vay, leading the development of a Golang-based distributed system that integrates with a deep tech stack to power the company’s driverless mobility business. Prior to joining Vay, I was developing the highly scalable invoicing system at Uber. Before that I was at VMware, where I had the chance to partner with huge enterprise customers on building private cloud solutions and magical developer experience.

Over the last 12+ years I’ve been working with different programming languages and technologies, ranging from C#, to Objective-C on iOS, to Java, JavaScript and Python.

I believe in engineering done right: in deliberate architecture design and well-crafted code focused on solving the customer’s problems. In my teams I always nurture thorough code review practices (which is fundamental for sharing know-how and keeping a high quality bar) as well as good unit test suites to enable safe refactoring and cleaner code organization.

I also teach C++ and OOP in my alma mater – New Bulgarian University.

If you want to get in touch – LinkedIn would be my preference.


Unconditional Code for Mapping of Protobuf in Golang

Unconditional code is code that just works, without errors or exceptions, without funny edge cases represented with tedious IF statements. In this article I will share how this can be applied to situations in Golang where you need to map incoming protobuf messages to internal or external (i.e. outgoing) structures. A Word about Golang Golang …

Code Review – Why Nobody Wants to Read your Code?

Well, can you blame them? Code reviews might be the only thing in software engineering that is universally considered “good” and “the right thing to do”. Furthermore, it is one of the few things that are empirically proven to improve our software [1]. And yet, I oftentimes hear particular about reviews. Nobody complains about the …