Home

I am a software engineer at Uber, working on a large scale highly distributed systems with Golang, Java and Python.

My interests are in distributed systems, software engineering and architecture, programming languages, engineering culture and effective teams.

About me

I am a software engineer at Uber, working on a large scale highly distributed systems where reliability is paramount. I’ve been working with different programming languages and technology stacks since 2010, ranging from C#, to Objective-C on iOS, to Java, JavaScript, Python and Golang. Prior to joining Uber, I’ve worked in VMware with huge enterprise customers on private cloud solutions and developer experience.

I believe in engineering done right: in good architecture design and well crafted code focused on solving the customer’s problems. I always nurture good peer code review practices in my teams: reviews that enure correctness and robustness before everything else and then go above and beyond to improve the overall system design and code health.

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.

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 …