I am a software engineer.

Some years back I read an article titled “don’t say you are a programmer” and I was shocked at first. However, the argument was overwhelming – programmers write code, whereas engineers solve problems.

That was the point when I stopped just writing code and started thinking more in terms of solutions. How my decisions, my code and my designs affect the customers and their business, how does it reflect on the other people around me – my team or organisation.

I am an advocate of test-driven development and peer reviews and believe those two to be the most powerful tools to create quality software and to nurture creative and diligent engineering culture.

I am also thrilled by the challenges of distributed and large-scale computing and software architecture in general.

About me

I’ve been working as a software engineer since 2008 (last year in high school), although I started doing that full-time second year in college.

After 7 years in the industry I still enjoy every bit of it. I am mostly drown to distributed computing and large scale problems. In terms of language… it is merely a tool. I was in love with C# for quite a while, but Java 8 and more recently Java 11 has made me switch sides; our relationship though remains purely professional and I might say the only language that is currently seducing me is Go.

Since 2017 I’ve been at VMware as a Sr. Software Engineer, working on private, public and occasionally – hybrid cloud. I am enjoying my time in CoE, one of the youngest departments in VMware Bulgaria, where we nurture a startup culture combined with the corporate know-how and stability… and resources.

Now I work mostly with Java and JavaScript (and Confluence doing software architecture, now that I think of it), but prior to that I was a .NET developer for a good 5 years.

And I love coffee, if you are wondering for the picture.

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


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 …

Automating at Scale

Writing code has never been so accessible before. You can bootstrap a web application in 15 minutes with Rails and deploy it for 10 minutes with Heroku or have a mobile game installed on your Android device in 30 minutes with Unity. However, going beyond hello-world barrier is hard and going to multi-people development is …