About me

So, who is this guy who thinks he can just start a blog and lecture and give advice to others?

Who I am

Obviously, I am an C++ enthusiast. As of today, I live in Hamburg, work in software development for several years now and have had my share of C++ and other programming problems myself. Most of the posts you will see on this blog are either based on things I have experienced myself or are answers to questions that have popped up on the team I work on or on the web. I just post them here because if I or someone I know has had a problem, others may have it as well.

How I Became the Geek I am

Since this is a blog about software and C++, I will spare you the details in my bio that are not relevant to those geeky topics.

I was born in 1982, as the son of two mathematicians working in the IT department of Münster University, Germany. So, my CV is not a big surprise:

In summer 1994 I asked my mother what her job was all about. She gave me a quikc introduction on the concept of variables, procedures and memory locations, handed me a Turbo Pascal 4.0 handbook and showed me how to start the IDE on her home PC. In the years that followed I would occasionally play around with the character-oriented display capabilities until I switched to Turbo Pascal 7.0 which I used to write the first and only “useful” program I ever produced with Pascal: a “Minesweeper” variant with hexagonal fields.

In summer 2002 I moved to Hamburg to study physics. In my free time I helped a bit on the development of a small local browser game, so I learned PHP and HTML. In 2004 a few friends and I had the great idea to start our own browsergame. It needed a very performant back end written in some more “serious” language than PHP, because it was going to be a glorious and extraordinary masterpiece, only surpassed by the complete lack of any line of code ever written for it. So I started to learn C++.

I first learned C++ by reading lots of books and writing little toy programs. In the first time I never wrote any code above a few hundred lines. Instead, I became a frequent participant and moderator on a German C++ forum, where I piled up a total of over 7000 posts between 2006 and 2013. I learned lots of things through either simply asking questions there or by experimenting and searching the web to provide answers for others. You know, learning by teaching.

During my time at university I had a small job at the Hamburg Observatory, testing and maintaining some scientific software written in C++ and FORTRAN 77. In 2007 to 2008 I wrote my dimploma thesis in particle physics. Partly, because the topic indeed interested me, and partly because it meant to write a lot of code for the data analysis, on a weird mixture of C++ interpreter and compiler.

After I got my diploma in 2008, I left university to work for a company in Stuttgart, on actuarial software for life insurances. In the first years I worked mainly with Java, then with C++, providing new functionality for different systems. Then I switched jobs inside the company, to work on more technical problems like performance optimizations, code generation and other stuff I found more demanding and satisfying than functionality for a topic I did not really care about.

To the end of 2012 I left the company and moved back to Hamburg to start working in another company. The software I worked on then was written in C++ and was again insurance related. I did my best to facilitate the modification of business related stuff by working on the more technical problems. I provided a domain specific language for the configuration of business logic, helped the team modernizing a large legacy code base and similar stuff.

Since fall 2015 I am working for Zühlke Engineering, a service provider dealing in a broad spectrum of technology. They have an interesting blog about different topics, where I occasionally will be posting articles that don’t fit the format of “Simplify C++!”.

 

Facebooktwittergoogle_plusredditlinkedinFacebooktwittergoogle_plusredditlinkedinby feather

Leave a Reply

Your email address will not be published. Required fields are marked *