My Services

Team Setup

Set up your development team with a scalable interviewing process, bringing in my experience in forming development teams since 2009.


Implement and improve a process that fits your requirements. Agile and result-driven.

Software Development

Build your mobile application or support your team with feature development, bugfixing and tooling.


Personal Jenkins Server with Docker

Nowadays, every software development team should have a continuous integration server like Jenkins. It makes sure the current source code compiles and all the tests succeed, so nobody is blocked by a broken build. A CI also forces you to have a build in one step and to perform it regularly, usually on every commit. Most often a

Read More

Should you go for self-employment?

I am now 9 months into my career as a freelance consultant and would like to share my experiences with it. The question if you should make that switch too depends on many factors and can not be answered in general. Much of it is about yourself rather than the outside world. Did it work out? This is the important question

Read More
runtimes of minimax vs alpha-beta pruning

Implement a turn based game AI with optimizations

My last post about implementing a turn based game ai became famous on Reddit/Programming for one day. It looks like many developers are interested in this topic. Some readers, with more knowledge of the topic than myself, have added interesting insight that I would like to share with you here. If you haven’t read the first post, you

Read More
Game AI for my game AndroidLaska

Implement a turn based game AI (on Android)

Game AI Developing a game AI can be as much fun as playing, especially when creating your own computer opponent. I am going to present you a simple pattern that works for nearly all turn based game ai’s, especially where there is a defined set of possible moves. This pattern is powering my own Laska for over

Read More

Interviewing software engineers

Interviewing basics When interviewing software engineers, you typically want to answer one simple question: Will they be a good fit for my team? Therefore, your interviewing process should focus on answering this question. Obviously both sides try to answer the same question and so you also want to sell yourself as a great place to work. Over the last

Read More

Write a great LinkedIn recommendation in less than a minute

Can you give me a LinkedIn recommendation please? If you ever had to write a recommendation for a colleague or friend, you also know how hard it is to write a positive, well formed description of that person. If you are like me, you will scratch your head for a long time before something useful

Read More

Career changes ahead

It is an exciting time, as I have been quitting my high-rank day job for pursuing a different way of working. I am currently preparing self-employment, which should start around july. Not everyone, certainly not my boss, understood why I am choosing this path. During the last months at 1&1 I was responsible for two

Read More

Google Play Optimization

Currently, I am preparing a presentation about optimizing apps for the Google Play Store. It is an interesting topic and still in its early stages. Unlike SEO for websites, it doesn’t seem to be affected by some page-rank algorithm. Instead the main focus is on keywords and, of course, the ratings of an application. There

Read More

Multiple targets from one Android source (the better way)

Some of you might have read my article Android: Deploying multiple targets from one project. It describes how to create customized versions of the same software and therefore benefit from multiple apps with the same featureset. That deployment with an Ant script has proven to work well. For example our GMX Mail App is available

Read More

Key learnings from analytics

Enough time has passed since I put Google Analytics into my Android game Laska. It has been collecting statistics for nearly a month now. Therefore, I want to share some data and show the key learnings I got out of it. The majority of my users are from China and Poland This was quite unexpected

Read More

Start measuring

I have been missing one important part of improving my software for a long time. But after starting my new job at 1&1 in Munich, I was reminded of how important it is. always measure Whatever you are trying to build is probably been used by an audience of users. Especially in the mobile sector,

Read More

Something is happening on the protocol front

For many years the basic layers of network communication have been unquestioned. TCP and HTTP are doing a solid job of delivering static and dynamic content to our browsers. But in some aspects those protocols could do a better job. Especially the TCP Slow Start is noticeable to end users and many big IT companies

Read More

Gain productivity by scripting your workflow

One thing that helps me a lot during my everyday routine is having shortcuts for every simple action I perform. For example uninstalling a specific Android app opening the current XCode project opening a ‘tail -f’ on the logfile of our server can be reached with two mouseclicks from the dock. Some of those are

Read More

Android AppRater

The Android AppRater is a little tool in form of a source code snippet for getting better ratings in the Android Market. Its basic idea is to kindly ask users to rate your application, after they have been using it for a while. Which is a fair deal, because many users only give negative ratings

Read More

Concurrency in java (german)

The Free Lunch Is Over – that is the famous headline of an article about how the evolution of hardware alone will not solve our performance problems anymore. With the rise of multicore CPUs, software developers have to put effort into their code, to see further performance gains. Even on mobile phones, as the Tegra

Read More

Building a very easy text classifier in python

Some of the developers at match2blue are creating a text-interest-matcher. Leaving buzzword bingo aside, that means the software calculates whether a text is interesting based on users’ interests. So basically you, as a user, have to enter some interests and will be presented some pieces of data in order of their relevance. You can also

Read More

Things I am missing in Android development

This is a list of things I would like to see for Android to improve the development of apps. Don’t get me wrong, Android is one of the best platforms out there, but this doesn’t mean it can not improve anymore. Hot Code Replacement It always takes a while to deploy your application on the

Read More

Android Fundamentals talk

This is the screencast and voice of my Android Fundamentals talk from december 2009. It was given on the 29th floor of our jentower for the towerbyte.

Read More

Android: Deploying multiple targets from one project (outdated)

Update: This way of deploying multiple targets is considered outdated. There is a better way now. This posting is about how to create multiple versions of your Android application without cloning the whole project. For example if you want to create a full (paid) app, as well as a lite (free) version of it, you

Read More