This is about me viewed as a software craftsman. Usually, people are multidimensional. We have a job, we have a profession, we have a family, we have a passion, we have talents, interests and more. All these are not multiple identities, just different aspects of the same person. It's one life, but it has a multitude of perspectives.
I am in software development for about twenty years now. The way from being fascinated over trying it out to doing it passionate and eventually professional was long and not straightforward. For more than ten years I make my money with software in the internet business. As a freelancer and vendor I was working for a number of clients, a big German pharmaceutical company for example. The last six years I am working as an employee for a number of companies. Germany's at the time biggest social network is one of them.
Over the years I was in contact with a number of programming languages and technologies. Before I was programming software for the internet I used Pascal and C, first on Windows and later on Linux. My first internet software was wirtten in Perl, then I switched to PHP. In the late 90s--and now and then later--I had my first contact with Java. Also, I did some minor tasks wih C#/.NET some time after the millenium change. Later I also came in contact with Erlang and was immediately attracted by both the functional programming paradigm and the so called concurrency oriented programming. My current projects are written in Scala, Erlang, Java and C++/C++11. More recently I was also attracted by Go and it's lean and productive approach while keeping things fast and efficient.
Since I never was at college I had to learn the theoretical background of computer science myself. I soon realized the worth of Kurt Lewin's quote, there is nothing more practical than a good theory. So I am really interested in reading about algorithm theory, software and system architecture and stuff like that. Since I have actual experience with web applications serving some ten thousands of requests per second I know what scaling really means. I deal with distributed applications, parallelism, huge graphs and big data, and I have good experience in collaborative filtering.
You may also find me at Xing.