The lingua franca of software development is without doubt English. For all of us not being born in the English speaking part of the world, it means that we have to use a second language for communication about programming.
Using a second language is always less natural than the native language. When I’m writing this text, I’m trying hard to not only write, but also think in English. I mostly succeed, but sometimes I only find the perfect formulation in Swedish. At those occasions I often have to struggle for a while to translate it into proper English.
In this post I’ll share a number of opinions on English, targeted both to my fellow non-native English speakers and to all of you who have the luxury to have it as your native language.
For the English Speaker
- Please be patient with us. It is much harder to express things in a second language. Would you be able to read a German blog? Get help on a French programming forum?
- Avoid difficult words. English is a very rich language with a huge vocabulary. What is a rich, varied language to a native English speaker quickly becomes the need to look up words in a dictionary for me.
- Be very careful with jokes. It can be hard to understand when something is ironic or a joke, especially if even understanding the words is a struggle. It is also very different what is funny – or even acceptable to joke or talk about – in different cultures.
For the Non-English Speaker
- Learn English to a functional level. It is the language of programming. If you want to participate in the community, e.g. by asking questions at Stack Overflow you have to know English.
- Accept that the language of program code is English. Name variables, functions and classes in English. It looks terrible when standard library names in English have been mixed with Swedish names. I find it much harder to read than pure English code because I have to keep both languages active on the same time. I prefer switching my brains into English only mode when coding.
- Write any code-level documentation in English. If all the code is in English, the comments in the code should be in English too.
- Use translations in comments where appropriate. Sometimes there is a very distinct Swedish term used by a customer that is hard to translate well into English. Having the Swedish term in a comment helps clarify the meaning without polluting the actual code with mixed languages.
- Use a spell checker. I’m writing this text in Google Chrome. It has a built in spell checker (that just made me capitalize the G in Google) that is good enough. I find texts that are poorly spelled so hard to read that I often move on to the next item in my RSS feed. If you don’t want me to skip your next text, make sure to spell check it.
- Pay attention to the details that carries meaning in English. Cats is not the same as Cat’s which is not the same as Cats’.
- Make English part of your daily life. Reading a book? Pick the English version if that’s the original language. It’s both a practice in English as well as a way to get access to the author’s original language, without things being lost in translation. I’ve read the Lord of the Rings trilogy in both Swedish and English. When I read the English version I found that there was another dimension in the books that I had previously missed: the rich, detailed language that is a piece of art in itself.
For Everyone
Make your best to facilitate communication. The less effort we have to spend on understanding each other, the more energy is left for the code.
for each person that is not a native English speaker
if they use words from a specific subset and they use a peculiar grammar then
add the person to the list of programmers
else add the person to the list of non programmers