Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Why knowing English is important for every software developer (volgarev.me)
53 points by volpav on Sept 2, 2013 | hide | past | favorite | 65 comments


I cannot tell you how much I agree with this.

When someone in US says good communication skills are important, they think it's racist.

I am from Pakistan. When I tell colleagues to master English, they think I am still mentally under British imperialism.

There is a huge trove of knowledge on the internet which you can only benefit from if you can read/write English.

It was only after I focused on my English that I was able to stay up to date with latest tech, prevent reinventing the wheels and get remote jobs. I could always feel that English gave me a superior advantage over my colleagues.


You're so right. Here in Germany are many people who don't want to speak english, even if they had it at school for 13 years...

But if I wouldn't speak english, I had to read german news only or couldn't use stackoverflow. 90% of the newest technology would be useless for me, because I couldn't read any documentations or tutorials.


Same in France. It's all about acquiring knowledge that's only available in English. For example, I'm pretty sure that the only database systems documented in French are MySQL and PostgreSQL. Only those who can read English (and are not reluctant to) can use the alternatives.


There is a difference between reading and speaking English.

While my spoken english isn't very good I'm able to read advanced technical books, manuals, news, and other texts without any problems.

I rarely have the opportunity to speak english. That's the problem.


I vaguely remember Linux Torvalds saying he developed linux in English, and it didn't really occur to him to develop it in Finnish, since English is a better language for dealing with technical issues.

From my (potentially quite flawed) understanding, English, French, and German are all good languages for capturing technical concepts, but English won out in general, simply because it's much bigger - more native speakers (thanks USA) and more widely spread (thanks British colonialism).


Or because the Germans lost WW2. It would be interesting to see another time-line in which they didn't just to test my hypothesis.

"... German advanced to become one of the most important languages of science and scholarship, and at the beginning of the twentieth century ranked above English and French, especially in the sciences. In order to keep abreast of the latest developments, scientists and scholars all over the world learned German, a circumstance that contributed to German’s becoming one of the most widespread foreign languages. With the end of the First World War, the “primal catastrophe” of the twentieth century, a reverse tendency arose. Germany and Austria had been economically ruined by the war and were in no position to invest in research and knowledge to the same degree as before. ..." (from http://www.goethe.de/ges/spa/pan/spw/en3889454.htm )


while I don't have access to another timeline, russia, china and (to some extent) france did win the war, but none of their language became a new lingua franca.

I'd suppose the closest thing to a nazi-controlled-germanized-europe would be the USSR (people escaping, restrictions on freedoms hindering creativity, no colonies speaking the same language, trade issues with the rest of the world) which in fifty years failed to establish a linguistic dominance even in aligned countries.


I think English is also easier than many languages.


Sir, your English is superior comparing to mine!


I would suggest three things (apart from the obvious 'speak in english with others'):

#1 read english books. translate every unknown word from dictionary. the words improve vocabulary; the sentences improves grammar.

#2 watch english movies with english subtitles. this helps greatly in understanding the accent. plus english in movies is a hell lot easier than the one in books.

#3 talk to yourself in english. there was a period in my life where all my thoughts were in english. it makes you comfortable with the new language.

ps: these are just general points - your english is pretty good!


I would like to warn about #2 - actually I would say watching movies with English subtitles can really slow down the learning process. The brain consumes enormous amounts of energy and in our past it was critical to our survival to save as much energy as possible - that's why the brain is wired to turn off (I am simplyfying here) the parts that are not needed right now. When you watch the movie with subtitles your brain 'knows' that it is getting the information via easy reading channel and turns off or tunes down the listening channel to save energy - this is an automatic process that you cannot control.

Understanding what you are hearing, recognizing words is a very specific skill and to get better at this we need to practice this specific skill, we need to get over that annoying stage when you just don't understand what they are saying and you need to listen to it five times to finally get it - when you turn on subtitles you may practice other skills (grammar, vocabulary... skills which can be better acquired by reading books) but you basically turn off acquiring 'understanding' skill. That's one of the reasons why there are so many people who are very good at grammar and vocabulary and can easily read and write but cannot watch a movie or talk to someone because they cannot understand spoken word.


> I am from Pakistan. When I tell colleagues to master English, they think I am still mentally under British imperialism.

They're not wrong. It's just that you're right.

If they're bothered by the imperialism, then they should get to work translating.


Translating requires to master English in the first place (at least understanding), so I guess it's back to square one...


I've often said that English is to programming as Latin is to medicine. Programmers will be writing "if" statements and "for" loops long after no one uses "if" or "for" in daily conversation.

So it is as important for programmers to understand English as it is for doctors to understand Latin. Of course, most doctors may understand Latin, but they wouldn't be able to converse in Latin. In that sense, English is also the programmer's lingua franca.

That term -- lingua franca -- is an interesting one. In addition to being used as a colloquialism for "a common language" it was also, itself, a language: http://en.wikipedia.org/wiki/Mediterranean_Lingua_Franca . Just as Lingua Franca eventually took on a life (and grammar and vocabulary) of its own, I expect "hacker English" will, over time, do the same. In fact already my (English-speaking) wife thinks that I'm speaking a foreign language half the time when I'm talking with colleagues over Skype.

It's less important to know "English", and much more important to speak, converse, and communicate with other hackers using the lingua franca of the day.


I work in Sweden for an international company, and I have several non-Swedish colleagues in my office.

I never have any problems expressing myself in a work-setting, but as soon as we start talking about every-day things it's more of a challenge. Knowing the name of different kinds of food, house-hold items, literature... you immediately notice a language barrier that is not there when we use the "programmer lingua franca".


Actually English has completely replaced Latin in medical circles as the Ligua Franca. Even the terminology (still based on Latin though) is English.


English is the Lingua Franca, but the terminology is (last I checked) still heavily Latin. Anterior this, Rostral that...a this-ectomy or a that-otomy...even "heart attack" is properly a Cardiac Infarct, from the Latin "infarctus": stuffed into.

I realize that the days of requiring Latin as part of a medical education are behind us (though not that far behind us), but Latin's footprints are all over the practice of medicine. I think the reason this isn't more obvious is that, in medicine, "Latin" is mostly interchangeable with "jargon" or "terminology" -- it's just "something you learn".

Someone else asked about a programming language like Ruby, which was developed in Japan and whose early users were all Japanese, why does it still use "def", "if", "for", etc. As an English speaker one is tempted to ask, "Why do the Japanese use English", but I would wager that the Japanese would respond, "What English? This is just programming terminology."


Yeah, but most of the time, Anglicized forms of the Latin words are in use. Increasingly so, even in the non-English speaking world. Even in your example, the correct Latin form is "Infarctus Miocardii" and Cardiac Infarct is heavily Anglicized. And although we still learn the Latin terms in Bulgaria, I can't really see that lasting very long.


English is now what Latin used to be in times of Newton or Leibniz. All scientific works back then were written in Latin. Today English plays that role...


I'd like to offer a counter-point here.

I work in a Chinese company with more than 200 Chinese programmers, I'm the only foreigner.

It is obviously important for a software developer to "know English", and all my colleagues do, just as it is important to know how to find your way in a reference book, or how to ask a question to Google and StackOverflow. It is a tool, an important tool, but only a tool.

What I have experienced more than often is that young Chinese people who are proficient in English and spent a lot of time getting their accent out of the way, are not always the best hackers and the most interesting persons. For them English is more than a tool, and they spend less time coding and more time discussing about code.

So to all these pro-English posts here: Yes, it is necessary; but only as a tool, and should not become a finality (unless we are talking about students in linguistics).

Why would I insist on making this point here and there (and get holes in my HN karma)? Because insisting on "fluent spoken English" and "Foreign accent" just makes life more miserable and humiliating to the so many people who open their mind and their life to the world, by the mean of this new Lingua Franca.

Americans know no fear, feel no shame. It's what makes them so strong and optimistic and creative. "Shy american" is an oximoron, but "Shy Chinese" (or Japanese) is a tautology. Let's not forget that other people are made differently.


Right now, I am trying to fix my spelling and grammar. I do this through feedback with the people who I am chating with on IRC.

I am also building SRS(Spaced repetition systems) decks cataloging grammar mistakes I made, formal grammar rules, as well all the spelling mistakes I made. Right now, I have 25 cards for spelling, and 55 for grammar.

The process of noticing my mistakes, being corrected, and learning about errors is a slow process. It has been going on for a month now. Two of my biggest issues are verb conjugations and plurals.

Edit: Fixed according to feedback


There is one big issue here which I'd like to address. People feel uncomfortable pointing out the mistakes you make, so they never tell you that you're making the same mistake over and over again.

I try to ask people, at least those who I am in contact with a lot, to tell me if they hear when I do a mistake, sadly most of the time they still don't, either because they forget that I asked them to do so or they just don't want to interrupt the normal conversation flow.

The only one who does it quite good is my daughter, Swedish is her native language so she points out what I do wrong when she hears me speaking it. I assume that is because I have been doing the same with her German since she was 2 years old, so it doesn't feel weird to her.


English is a tricky language, good on you for attempting to master it - you can write better in English than I can in any other language!

I hope you don't mind me providing some feedback on your writing!

"I am trying to fix my spellings and grammar." - We generally say "spelling and grammar", even though "spellings" is technically correct - when people say they want to improve their spelling, they generally talk about a skill rather than individual spellings.

"It been going on for a month now." - It (has) been going on for a month now - although this could have easily been a typo.

Best wishes on your endeavour.


"It has been going on for a month now." can also be said, using a contraction, as "It's been going on for a month now." which possibly could've easily led to your mistake.


"I do this through feedback with the people who I am chating with on IRC" would sound better as: "I do this through feedback with the people whom I am chatting with on IRC"

Alternatively you could just omit the whom altogether but I am less certain about that as I am not a native speaker either.

If you want to know more about who vs whom: http://www.quickanddirtytips.com/education/grammar/who-versu...


As a native Russian speaker i totally agree with you. It always upsets me when people try to stick with their native language all the time. Basically, Russia (like any country) is only a small part of all the world. If you try to avoid speaking/reading in some other languages you're closing most of the possibilities(i mean books, movies, jokes etc.) for yourself.

Hello from Moscow, tovarisch :)


That's how I learned English. Not in school but because I was programming and my native language was lagging a couple of decades behind when it came to programming materials and books.

And once you use it for programming, it's logical to use it for asking questions on the Usenet (then) or internet forums (today), and reading papers on interesting subjects, and communicate with your peer programmers or contacts around the world. By then you realize how much you would lose in any translation which makes you want to read any novels written in English too and watch films without subtitles. And eventually you land your first job where you also need to speak English in addition to your native language, and maybe in your second job English is the primary language of the company and you only use your native one for chitchatting locally over a cup of coffee. Roughly, by that time, English has slowly become the second native language in your life.


Cant agree more. These days, I lead and train a dev team here at codersquare in Vietnam. For recruitment, English skills, esp reaing + writing are weighed as much as technical skills. And I provide English lessons on a regular basis as well.

Can't really emphasize enough the importance of English in software. I've had bad experience with devs with weak English skills.

1. Can't google for the right terms so normally finding a solution takes 3 times longer than a dev with proficient E skills. 2. Can't name functions/classes or comment properly thus producing bad qualiry code. 3. Misunderstand requirements sometimes. This one can be very costly. 4. Takes much longer time to study new stuff.

2cents


Knowing English is important for every startup, let alone every software developer.

1. Outside of English-speaking countries, and particularly in the Schengen area, teams are made up of people whose first language isn't the local language. This means that all internal communication happens in English. Companies that make an effort to operate in English internally have a much, much easier time hiring.

2. Investment often comes from outside the country, particularly from the US, even if your company doesn't operate or sell outside of its home country. Your CEO is going to have to pitch your company in English, and your investors are going to have foreigners perform their due diligence.


About 1. it is so true. When I was the first developer at a startup in Stockholm I told my boss that we should really do all the documentation in English and only talk Swedish on the phone or in personal email. When starting we've only been me (from Germany) and two swedes, my boss and the guy with the money.

The first person we hired (that is besides me) was a Spaniard who didn't speak Swedish. The second was also Spanish and didn't speak Swedish either. The third was from Ukraina, she spoke Swedish quite ok already. And this went on in this direction, Norwegians, Greeks, more Spaniards, etc.

So our decision to go English all the way made hiring much much easier from the beginning and now English became the language half of the staff is communicating in even if you meet them in person.


Ignorant American here, asking of the non-native English speakers:

As most (every?) programming language is "in English", does this impair understanding? (for, in, throw, select, from - all English words whose meanings are more or less in line with the programming concept they define) (Even Ruby, created by a Japanese, is "English")

For those who write/type in languages that require Unicode: since you typically code in ASCII, was this a challenge to learn? (do modern languages support Unicode for things like variable names? I've never seen Hebrew, Chinese, etc code - does anyone have any examples?)


Ruby 1.9 and 2.0 supports Unicode variables (1.9 requires a special line at the top of the file).

Outside of some cute usage of the Pi symbol (because he could) I haven't seen it used in the wild.

Most Japanese programmers I know / whose code I have seen just use the romaji text for their variables names if they are still thinking in Japanese. (i.e. "tesuto" instead of "test" or "yuza_banngo" for "user_id")


I remember ruby code circa 2001, there was a lot of it with kanji in in comments, which I found fascinating :)


When I was learning Basic in school, I wasn't really caring/realizing that all of the keywords can actually be translated to Russian, I was just learning them by heart like proper nouns. On the other hand, seeing languages with syntax in Russian (like the scripting language in 1C CRM) always makes me smile ("so ugly, unusual and funny").


When I learned Basic as a kid (8–9 years old I think), I just learned what the reserved words (rem, print, goto, gosub, return, if then else, etc.) did in the context of my programs: 'goto' literally meant "jump to this line" etc.

It was somewhat later that I realized that my 'goto' is actually derived from English words 'go' and 'to'.

So if goes like this:

- 8 yrs old: learn 'while' in the context of Basic

- 10 yrs old: learn 'while' in the context of English classes at school

- 14(?) yrs old: suddenly realize if you remove the space from then English "go to", it becomes the Basic 'goto', and a-ha, maybe that is not a coincidence.

I actually just right now realized what the 'wend' in the while...wend loop is made of (in the English sense). Hah.


Can't talk for everyone but I always use English in all my code for everything (Variables, Database, Filenames etc.) Because it's a real pain to be consistent otherwise. In the beginning I used to write parts of my code in German because I thought it would be easier to understand but it just made my life harder in the long run because I had to deal with inconsistencies all the time.

And after my initial trouble with some special characters like the French accents (é, è, à etc.) and the German umlauts (ä, ö, ü) I made myself do everything in ASCII.

General rule is: Code and back-end stuff 100% English and only basic ASCII characters. Front-end in UTF-8/LAT1 but when possible avoid placing special chars in code (example ü in HTML only as ü not as ü)


I'm taking this as a very tenous opportunity to quote a scene from The Simpsons where the country bumpkin character says:

"I only speak good ol' american, if it's good enough for Jesus it's good enough for me"


I know that many programming languages (for example C), have long had tokenizers that are non-English. So the language is the same, the words are different.


On a similar note Excel commands are probably the most infuriating thing since I learned programming fro me because they are all in the regional language in my case German and make no sense to me now. (Example IF is WENN in German)

It drives me nuts.


I remember in high school they simply used a header file that redefined the keywords of the language in french.

Something like "#define SI if" #define "TANT_QUE while" etc...


> do modern languages support Unicode for things like variable names?

They do, but there's not much point in taking advantage of it outside of string literals: you're risking someone whose environment isn't set up to handle it coming in and getting barfed over for... what marginal benefit, really?

I googled "unicode variable names" and got this: http://rosettacode.org/wiki/Unicode_variable_names


I wonder: isn't that becoming true for all knowledge work?

With the great university courses available in english(MOOC), best web content both formal(research journals) and informal(forums/sites) available in english, And tools usually give error messages in english ,doesn't english give huge advantage in most knwoledge areas ?


I definitely agree. I choose to study CS in English because of this. CS is made to be taught in English. I have a friend who was struggling in English and when she applied for a job the interviewer didn't even asked how her English was, all the interviewer questions were in English.


I once had a job interview at Opera (the browser) in Oslo. They said: "Ok we want you to work here, but you _really_ need to improve your English." That was a couple of years ago and it was literally the first time I spoke more then one sentence in English in a conversation outside of School, haha :D Since then I did improve it quite a lot.


English is not my native language, although my entire schooling and upbringing were in English. One of the resources I found useful in improving the quality of the written word was "The Elements of Style" by William Strunk. The e-book can be found on Bartleby (http://www.bartleby.com/141/) or, if you so prefer, a dead tree version is available on Amazon.


ESR also considers it a core skill for a hacker[1].

This whole controversy is completely manufactured.

[1] http://www.catb.org/esr/faqs/hacker-howto.html#skills4


This summer I was talking to my wife's cousin, he wanted to be a programmer but his English was poor and he struggled. That was a long time ago, now he is trying to learn English again and is also learning Java.


If I didn't already know English, I wouldn't have been able to learn programming. My curriculum in university has been largely in English.


I just couldn't read past the "who're"...


You couldn't read past an awkward English construction in a post about foreigners learning English?


If there's a language rule that says you can't combine these two this way, I'd be more than happy to learn about it. English is not my mother language so I apologize for any grammar/spelling mistakes in advance ;-)


It's perfectly valid English. "Who're" is a contraction of "who are"†.

However, for some reason, unlike more common contractions, it is much more common in spoken English than in written.

http://dictionary.reference.com/browse/who're


It's not always about rules. Using "who're" can be grammatically correct, but it is bad english.


(Native English speaker.)

There's definitely no rule against it. I wouldn't think anything of hearing "who're" everyday conversation. It's rare you see it in writing, though.

What you hear in every day speech is governed more by the mechanics of how your mouth works when you're speaking fluently, honestly. For example, if I were to say, "I would have done it" it most likely would come out sounding like "I'd've done it." Unless your intention was to get the sound across, though, you'd never, ever write that.


ha :-) It is really a grammatically-correct gotcha ;-) The language construct "who're" looks too much like "whore" and too little like "who are" ;-)


What's wrong with "who're"?


It's an uncommon contraction, also at first glance, it reads like another word, one that refers to someone who offers professional sexual services.


It's a perfectly idiomatic contraction in spoken English, though.


But then it's pronounced differently from the way aforementioned profession is pronounced.


Yes, absolutely. It poses a greater risk when written than when spoken. :)


Uncommon, sure, but still correct. Myself, I like "who'd've" and similar. Never seen in written English, but quite common in spoken English. Who'd've thought you could put two apostrophes in the one contraction? :)


> Who'd've thought you could put two apostrophes in the one contraction?

Yes, and perhaps more interestingly, what will it look like 500 years from now? Many common modern words that we assume to be self-contained turn out to be pastiches of two or more older words. Like "shire reeve" -> sheriff.


"shire reeve" -> sheriff

Well I'll be. That is so cool. Thanks!

http://www.etymonline.com/index.php?term=sheriff&allowed_in_...

Edit: Allow me to repay in kind. Did you know that rhubarb is called "rhubarb" because the Greeks thought only barbarians would eat it?

http://www.etymonline.com/index.php?term=rhubarb&allowed_in_...


Fixed, thanks (btw, liked the way you put it).


I guess you are right on that point. The apostrophe in "who're" is not enough to steer thoughts away from "professional sexual service provider" ;-)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: