I’m currently employed as a software developer, but programming has been my hobby long before, especially the creation of large-scale computer games.

I have a lot of experience in object oriented design and can be counted towards the “design patterns” faction of developers. Nevertheless, I am also very strict about using agile programming techniques like unit testing and continous integration so I can refactor code as soon as I can think of a better way to do something. It’s just not reasonable to expect a design to be perfect on first try.

The languages I speak are C++, C# and a little less PHP and python. My C++ knowledge is very extensive, I know the language by heart and I do understand complex template magic like it is found in Spirit or Boost.Python (check out my Visix graphics support libary which builds optimized alpha blending code using templates).

Recently, I have made the move to C#. While the language’s design might seem like a bad joke, the .NET framework is a good development environment that really boosts productivity. You could actually achieve even more with C++, but the number of people that have the required knowledge is very small (mainly due to the time it takes to fully understand the entire language).