I’m a software engineer. As many of us, I started coding in my childhood. My first programming environment was TurboBasic. And, of course, the first things I tried to create were games. After various flavors of 3D-enabled Basics  (DarkBasic, Blitz3D) and several childish projects (I even get paid for one of them somehow!) I finally get into C++.

There were several attempts to develop my own graphics engine, originally 3D, then 2D. When I got tired of fighting memory corruptions and ownership design issues, I switched to C# and continued writing a 2D engine in it.

I started my professional career with C++, still working on graphics. Here I had an opportunity to embed Python into a C++-application and saw how productive programming could possibly be. But the most important lesson that I’ve learned hard way these times was how software should not be designed. And how a team should not work.

Later I tried myself as an indie developer, as a freelancer and even as an Asset Store developer. I experienced a lot of failures in those fields but I also learned a lot of new stuff. Every programmer knows that software should solve real-world problems and that it’s not a thing per se, but when it’s your own money at stake… this point gets clearer.

So, finally, I got tired of all this business stuff. I wanted to come back to my programming work (preferably, hard) and don’t bother anymore with ideas, design, and marketing. It took me several months to choose programming area. Many thoughts were on web/backend development but, finally, I decided to stay on the client side and go deeper into game development.

I also write a blog in Russian. It’s mostly about personal stories and experiences (probably effect of wanna-be-indie times). Hopefully, sometime I will know English good enough to express my thoughts using it but this time didn’t happen yet.

Thank you,
and have a good day!