Welcome

Welcome to my software engineering blog 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 throughout my career.

Agree or disagree, but if you feel inspired after reeding my blog, me writing was not in vain.

Thank you and read on!

About me

I am a principal 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, Python and Golang.

I believe in deliberate architecture design and well-crafted code that is simple and effective at solving the customer’s problems. In my teams I always nurture thorough code review practice, which is fundamental for sharing know-how and keeping a high quality bar.

I also teach C++ and Object Oriented Programming in my alma mater – New Bulgarian University.

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

Blog

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 …