The German keyboard layout is great. It has everything you need, including all of the umlauts, the ß and also the µ. For programming, however, the German keyboard layout is 💩: The normal braces are on 8 and 9 with shift state, just off by one from the English ones at 9 and 0, but the square and curly braces are available only on Alt-Gr combos left and right from that. Also the forward and backward slashes are Shift and Alt-Gr combos. You can imagine that this slows you down.
So, to be more efficient when writing code, I tried and trained myself to use an English keyboard layout. This is, what I learned.
The keyboard brain rewire, or: why the heck do we Germans have umlauts?
Let's rewind a few weeks. I have not yet settled on a certain English keyboard layout. I mainly used US English and UK English.
Being a German, I still have to write a lot of German text: Emails, documentation, company chat and so on. Now, the thing with the German language is that you can not only create such wonderful words as Rechtsschutzversicherungsgesellschaften (insurance companies that provide legal protection). We also love our umlauts and the ß 'über alle Maßen' (above all things measurable).
Beautiful is schön. Wish is wünschen. And Uber is Über.
Now, we Germans also like things uber-complicated: We can replace the umlauts by using the normal letter and adding an e to it (ä => ae). Also, the ß can often be replaced by a double s. So while "Wir lieben Doener ueber alle Massen" (we love doner kebab above all things measurable) would be technically correct, it just feels and looks wrong. Especially because in this case 'Massen' would double with the plural of mass.
Mainly in our company chat I always struggled with the missing umlauts. And the alternatives just look soooo wrong. To make up for that, I also installed the German keyboard layout and Alt-Shifted between the English and the German one whenever I needed the special character sets of one.
I can tell you, my brain really did not get used to that. For one, the QWERTY vs. QWERTZ problem made me go crazy: z and y swapped their places all the time. Also the braces always made me struggle, because they hopped one to the left (or right, depending from where you just came). Besides that, especially the different punctuation made switching the layout completely impracticable. I was struggling with the switching all the time, and almost gave up.
English US-International keyboard layout to the rescue
The great thing is: You can choose from several English keyboard layouts. The most common is obviously the US English one. In Europe, however, you will find a lot of UK ones. Up to that point I went through the US standard and the UK one. There is, however, also the US International layout, which you can add as a keyboard option easily:
And now, as I started trying the US international layout, things started to look better. A LOT better.
The US International layout allows you to combine the best of both worlds. Not only does it allow me to get used to a much better bracket placement. This layout also gives me access to my beloved umlauts.
On the US International keyboard, you can start typing the ", and then, instead of a space to actually see the " on screen, you type a, e or o. And thërë yöü gö älöng with all the glory of our umlauts. The ß is there when you go Alt-Gr + s. And the US International layout also provides the € sign on Alt-Gr + 5.
The German keyboard layout is nice, but it totally lacks comfort when writing code. Reaching the brackets is hard, and you struggle with a lot of Alt-Gr combos. A normal English layout is better by far for code, but it lacks the ease of language-specific things like umlauts.
As a German developer, my English keyboard layout of choice is the US International, as it allows for my German umlauts as well as providing me the better layout for programming.
If you want (or need) a cheat sheet highlighting the special features of the US International keyboard layout, have a look at this page, provided by the Washington State University.