My first computer was a .386 (12MHz) with 2MB of RAM running MS-DOS in 1994 when I was about 9 years old.

My first experience of programming started with building text animations using MS-DOS .BAT files. They’ve been basically multiple echo commands followed by a cls for each frame. After a while, I realized that I need a more advanced tool which led me to QBasic. I didn’t have access to the Internet at the time so started learning about QBasic through a book. QBasic was a magic for me! I began to write many simple programs, such as simple games (at “SCREEN 13” mode + Some basic physics engines), viruses (yes! computer virus) and some useful applications.

After a year of programming with Basic, I got to know other programming languages such as C, Pascal, VB, FoxPro, C++, Assembly, etc. Learned a bit about each and realized that I like the C family languages.

The first real programming job that I was paid for was developing a cutting optimization software in C++ (MFC). In 2003, I wrote my first web application in C# and .NET 2.0 and built my career on top of Microsoft platforms.

In Dec 2013, I decided to move to the wild and free world of the open source and completely moved my career to the open source ecosystem as well as my day to day tools from the operating system to the programming language and platform. It was the best decision I’ve ever made in my career so far. I chose Scala as my main programming language because I was looking for an open source, cross-platform similar language to C#.

I’ve always worked as a contractor or a part-time employee. It gave me the chances to work with various technologies and platforms in different scales like Scala, C#, C/C++, Java, Ruby, Python, Javascript, etc. Checkout the projects I’ve done at

I left my home country and moved to the UK to join Cake Solutions in Apr 2017.