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.
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.
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.
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).
#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!
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.
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 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.
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
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.
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.
Hello from Moscow, tovarisch :)
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.
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
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.
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.
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?)
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 ?
This whole controversy is completely manufactured.
However, for some reason, unlike more common contractions, it is much more common in spoken English than in written.
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.
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".
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."
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...
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")
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.
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 only speak good ol' american, if it's good enough for Jesus it's good enough for me"
It drives me nuts.
Something like "#define SI if" #define "TANT_QUE while" etc...
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
"... 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 )
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.
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.
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.
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_...