I've been using a German keyboard layout for pretty much all my life. A couple of years ago, I learned to touch-type, and I've been happy with it ever since. That is, up until recently when I decided to switch from de-DE to a more programming-friendly layout like en-US — and I love it!

Advantages of en-US

Writing code is different from writing prose. While both should read well, most programming languages require various punctuation characters that are hard to type on a German keyboard layout. The most important ones are { , } , [ , ] , | , and \ . You use them all the time for block scopes, array subscripts, logical disjunctions, or file paths. All of those characters are much easier to type on en-US than on de-DE.

Here's a comparison of the layouts. First up, de-DE:

And here's en-US:

As you can see, most characters needed for programming can be found on the right half of an en-US layout. If you need to type a semicolon, simply press your right pinky – no need for multiple keys. All in all, the American layout just feels much more natural for programming. It feels right.

Disadvantages of en-US

As nice as the en-US layout is for programming and writing English texts, it's not as helpful when you need to write in German. Naturally, it doesn't have keys for umlauts like ä, ö, and ü. So what does one do?

Rather than going through the hassle of using complicated shortcuts to type those characters, I decided to add both English and German as input languages to my operating systems. Now I can press WIN+SPACE on Windows and CMD+SHIFT+SPACE on Mac OS X (custom mapping) to switch between the languages. Whenever I write a couple of sentences in German, I quickly change my keyboard layout. Otherwise, en-US remains my default setting.

Difficulties of Transitioning to en-US

It took me about two weeks to fully get used to the en-US layout. While the control keys and the letters of the alphabet (except y and z) are located at the exact same position, very few of the special characters are. I had to remember how to type all of those without being able to look down at my keyboard, which was still de-DE. That turned out to be a little difficult and resulted in lots of trial and error.

In the end, I purchased a new Logitech Illuminated keyboard with an en-US layout:

I've owned and used a Logitech Illuminated keyboard (German edition) for more than four years now, and I still am a huge fan. It has a perfectly balanced keystroke resistance and it's backlit, flat, and pretty. If you're looking for a new keyboard, I very much recommend it. You can get the Logitech Illuminated on amazon.com.

Just Try It for Yourself!

If you're still using a German keyboard layout for programming, I strongly encourage you to try out the American English one. Simply add another input language to your operating system of choice and see if it works for you.