views:

621

answers:

16

Since English is the Lingua Franca of programming, this question is for all programmers who need to learn English for programming related reasons.

I'm Italian but most of the time I spend on the Internet is for reading or writing something in English. My English is still pretty bad; reading is relatively simple, writing a bit more difficult, but I'm getting better, I also opened a blog for this.

Listening and speaking is completely another matter. I tried: I watch American TV series in the original language but there are just a few series I can watch without subtitles. Radio and podcasts are still too hard to follow properly and I often get lost.

The most difficult thing is to speak at conversation speed, I may be able to chat (like on IM) at a decent speed, but not if I have to speak.

I believe that many SO users are not English native speakers; how did you learn? With whom did you practice? Is there any group that does something like English-speaking sessions on something like skype/teamspeak?

Thanks for reading and replying to the long (and maybe full of errors) post/question.


Edit:

I've found a very interesting service: My Language Exchange. I've found a lot of nice English native to talk with via Skype. I hope to don't see this post deleted again (even if you close it) so that this information may be available.

A: 

Learn, learn, learn and learn. Go to language school. Try to get FCE or CAE (and even CPE). Listen to music, watch movies, etc. The only word I understood from watching "Platoon" for a first time it was "f***".

Buy some books from Amazon and read them. Takes a lot of time, but you can get it. Note: depends how hard is your native language. Mine (Polish) is harder than English (more strange sounds, difficult grammar, seven cases of nouns, etc) so learning English is relatively easy.

smok1
My native language is Italian, its grammar is way more complicated than the English one. I read books and watch films before they get translated in Italian, it helps to make me a good reader, but not a good speaker.
Andrea Ambu
A: 

Listening skill can be improved by listening to audiobooks (before/after you've read them).

J.F. Sebastian
A: 

Reading, reading, reading. Worked for me. Also listen to the radio over the internet, best is (IMO) NPR.

Otávio Décio
+2  A: 

Try doing a gap year in Londra (London) when you've finished your degree (look up 'working holiday' visas). A working holiday is more like 1-2 years and working holidays are something of a tradition in London. Even if you don't work in IT you will get pretty good exposure to the language. It should also be quite a lot of fun.

Shagging a native speaker is also quite a good way to learn the lingo ;-) If you don't have that option then arrange for both of you to go for a year. Be prepared for sticker shock at the price of accomodation and train travel (even compared to the worst excesses of Venice, Milan or the touristy bits of Post-George Clooney Lake Como). On the plus side Sterling is fairly cheap, around 1.20 Euro.

(Back when I was at University my girlfriend at the time wasn't a native English speaker and her English improved quite a lot while we were an item)

ConcernedOfTunbridgeWells
+1 "sleeping dictionary" tag
mobrule
I'd really like to. I spent a week in London (but with my Italian gf :-) some months ago and it was where I saw how much I suck at speaking.
Andrea Ambu
@Concerned: how quickly did your ex learn the word "headache"?
MusiGenesis
@Andrea - a week isn't really long enough. My current ragazza's bridge partner lives in Italy and we go from time to time. However, it's never more than a few days at a time and my Italian never gets much past 'Due biglietti a Colico'.
ConcernedOfTunbridgeWells
@ConcernedOfTunbridgeWells: I think Italian is a bit more difficult to learn than English. I'd like to spend more than a week in London but I'm a student and went there in vacation, I couldn't stay longer. I hope to improve my spoken English this year and try to get a summer internship or equivalent for the next summer.
Andrea Ambu
@Andrea - spend a year or two in London when you finish university. The Inglese call this a 'gap year' when they go overseas to do it.
ConcernedOfTunbridgeWells
+1  A: 

Use SuperMemo or a similar program. I have never tried it myself, but the article was really convincing that this is great way to learn languages.

neoneye
+5  A: 

Studying never worked very well for me. It is boring and most of the participants don't speak english in first place ( sometimes the teacher didn't speak English either )

So, I took 1-2 months lessons only to correct all the misunderstandings I have had over the past year learning by my self.

The only way I really really boost my conversation was, once I have to work abroad ( at USA ) for 3 months. Although I thought initially I had a good English level, the first week was disastrous. There were simple too many words that I have never heard before ( like internet? :P :P turns out the "T" is not pronounced as I thought .. anyway )

Since I was in English mode 24/7 ( obviously ) after a couple of weeks I became fluent in English just like that!!

So if you have from mid level to high in that language the only remaining thing you HAVE TO DO is travel ( UK should be the option ) and spend a couple of weeks there. You will be amazed how much your skills improve.

Today, I'm able to listen podcast, tv shows, and when it's possible I turn off subtitles in films.

There is something I don't like from all this though. All my childhood songs are gone in the way I knew them. When I re-listen an old song from 80's 90's, now that I understand the lyrics I, well, simply would like not to understand them :P somehow the old "whisy, whisy sha-la la la la you!!!" sounded better to me :'(

OscarRyz
+8  A: 

Full immersion. Live in an English speaking country. Set your operating system to English language. Refuse to speak to friends and family in anything but English (if they do not speak any English, decide on a specific time each week that you can talk to them normally). Try to think in English instead of your native tongue. Carry a quick dictionary everywhere. If you hear or see a word you can't understand, try to write it down and figure it out later.

kwatford
The only thing I can (and I actually) do from this list is to install all the software I use in English and write new words down. Try to talk to your family in anything but Italian!
Andrea Ambu
I recommend the suggestion of thinking in English. It's a great way to figure out how to say something with your current vocabulary, instead of trying to translate from a language where you know lots of words to one where you may not know the exact one you need.
kajaco
YES !!You have to THINK in the language, dont think in ur language and then translate to english....Think in English
Salvin Francis
I try to do it. The main problem is when stdout is my tongue :-) Speaking alone doesn't help that much...
Andrea Ambu
@Andrea When you speak alone, you always understand what you say :-)
Luc M
@Luc M: ahahaha, true, but if the neural network doesn't make error it doesn't learn :P
Andrea Ambu
A: 

The only surefire way to do this is to get some serious time in an English speaking country. Preferably not doing work related stuff because then you end up spending most of the time programming and not really interacting with people.

I found that taking a few months to travel in and around BC, Canada really helped my English.

shoosh
A: 

You might want to try Supermemo

Wired has a very interesting article on how Piotr Wozniak approaches this issue. I have list of online resources on how you can use to spaced repetition for your learning needs. You might also want to extend the Basic English vocabulary by Ogden to include a new set that is particular to programming. You might want to look into Pimsleur programs - it uses the graduated interval recall approach (a variant of spaced repetition).

pageman
+1  A: 

As you are a student in electronic engineering you have the opportunity to become an exchange student for a few months with IAESTE (International Association for the Exchange of Students for Technical Experience) in the summer period. I believe it is possible to go to any of these English speaking countries: Ireland, Northern Ireland, England, Scotland, New Zealand, Australia, Singapore, Hong Kong, Canada, U.S.A.

I can highly recommend it and as with kwatford's answer this can be the opportunity for full immersion (speaking, thinking AND dreaming in English...). The immersion will turn your large passive vocabulary into an active one. I went two times, first 8 weeks in Dublin, Ireland and two years later 10 weeks in sunny Belfast, Northern Ireland. You will not be lonely - there are lots of social activities with the other IAESTE students in the city.

You are also paid a modest sum per week that will cover the cost of accommodation, food, etc. If you don't spend too much it may also be enough the cover the cost of travel to and from the country.

Peter Mortensen
A: 

Listen to language-learning podcasts. There are many here: http://www.podcastalley.com/search.php?searchterm=english

I haven't looked at any of those ones specifically. I am a native English speaker. But I find that these types of podcast are very useful for learning languages. They are good value for money too as they are free. Generally speaking the business model they employ is that you get the mp3s for free, but if you want transcripts and lesson guides, then you can pay for those.

dangph
+1  A: 

Studies can help a lot, depending on your teachers of course. But in the end, the only real means to improve your oral english is definitely to spend time in an english-speaking country. I'm French, and I've been able to spend 5 months in Ireland this year, and am currently in Australia until December. Even if my english was quite good (for a French guy ^^) before, I now feel far more confident and won't have any problem to follow a conversation or anything. It is an important investment but definitely worth it.

By the way, watching movies and series in original language is already a good beginning, I used to do that a lot as well when I was in France and it did help !

LePad
+1  A: 

Watch cartoons - They mostly use simpler language and are easier to follow due to a simpler plot. Series are also easier to watch than movies because you already know the characters and main plot. What I like best is futurama. "Good news, everyone..!" x-D

You can also participate at conventions/conferences. Beeing forced to listen and speak the whole day english can greatly improve your langauge skills. My favourite is the fedcon, a star trek convention which is beeing hold in germany but there is only english spoken.

Additionally, why don't you spent your next holiday in britain or the usa?

codymanix
+3  A: 

Go to a place where English is spoken, and where they do not understand an Italian word.

Svish
+3  A: 

Two words: Cartoon network

And I'm not kidding about this.

ldigas
+1  A: 

In my experience, a very reliable indicator of how fast someone will master a language is if he/she is dating a native speaker :)

Mathias