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

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 …

Code Reuse – the Good, the Bad and the Ugly

Recently, I had a very intriguing conversation around reusability, team independence and self-contained services. Since I’ve been reading about this in the context of microservices and modern immutable infrastructure, figured out it is an interesting topic for a post. There are a number of practices and technologies claiming to solve the problem with dependencies by …