Do German Programmers Dream in English?

Jeff Atwood claims

English is the de-facto standard language of software development.

This is simply not true in my experience here in Germany. I’ve worked with teams of German programmers who prefer talking and working in German. My German is pretty lousy, yet most of my German colleagues clearly preferred perservering with me in German on programming issues.

Typical German programmers can speak English. They can read Javadocs in English. But they are more comfortable doing so in their native tongue. They have families, customers, bosses who all speak to them solely in German. They watch television and read books in German. Therefore to program in German is more natural.

English-speaking-only people around the web say things like “all the German programmers I meet speak English.” But naturally! This boils down to saying “all Germans I’ve been able to speak to in English speak English!”. Or in logical form:

A and B implies B

where A is “is German” and B is “speaks English”.

This leads to some strange code, because of Java conventions such as setters and getters. These rely on being in English to work. So method names are sometimes a mixture of languages. For example, setAnschrift(…) or getGrenzwert(). The “set” or “get” part ensures things work, but the “Anschrift” or “Grenzwert” part ensures all on the team understand what it does.