老码农教你学英语
对于咱们这些高端大气、时刻需要和国际接轨的码农,英语的重要性自然是毋庸置疑的。尤其是那些胸怀大志的潜在大牛们,想在码农行业闯出一片天地,秒杀身边的小弟们,熟练掌握英语更是实现其目标最关键的因素之一。否则,试想在你捧着某出版社刚刚翻译出来的《JSP 高效编程》苦苦学习JSP模板的时候,你旁边的小弟却是拿着原版的《AngularJS in Action》学习开发单页面应用,虽然你们都同样认真地学习了一个月,可做出来东西的效果能一样吗?
所以,英语好才能学到最新最炫的技术,否则只能拿着国内出的翻译版学习两三年前的老古董还把它当个宝。更何况国内的翻译书水平如何你不会不知道吧?多少坑爹的翻译啊!不提了!其实我十多年前还参加过一本Java开发指南的翻译,而当时我一直在IBM主机上做开发,压根就不会Java,所以误人子弟是肯定的了。回首往事,惭愧啊!请上帝宽恕我的罪恶,阿门……
好了,现在言归正传,说说码农应该如何学习英语,达到熟练掌握英语的水平。首先,我要明确一个概念:英语学习是不可能速成的。一心想速成的同学们可以不用往下看了,不然浪费了你们的时间我可担不起责任啊。
作为码农的习惯,自然第一个重点是要准确定义”熟练掌握英语“的概念。
我的定义如下:
- 1. 阅读:能够直接阅读英文文档,比如《MongoDB: The Definitive Guide》,并且阅读速度和理解程度都能与母语相当;
- 2. 写作:能够直接编写英文文档、邮件,达到英语母语人士能够无歧义理解的程度,学有余力的同学可以追求逻辑严密和用词严谨;
- 3. 听说:能够顺畅地与英语母语人士进行有关技术方面的交流,达到双方沟通无歧义的程度,学有余力的同学还可以争取在对话中表现幽默感和个人品位。
肯定有人要不服了:为啥学习的起点给俺整这么高呢?因为,只有达到这个标准,你才能充分发现学好英语的好处,也才能自觉地尽可能使用英语,形成良性循环。
那么,要达到这个标准需要多少时间呢?对于CET-4或者6级水平的同学(没错,4和6都是一个水平,几乎没啥差别),我的估计是需要1万小时以上。这也是我前面说英语不可能速成的原因。可能有人会抱怨说,老码农你不靠谱,1万小时也太多了,就算一天花5小时学英语,也需要6年时间,这不是太坑爹了么?对此我想说的是,每天5小时其实一点也不难,如果你一直在学新技术而不是重复做熟练工的话,平均每天看技术文档就能看3小时,另外写文档邮件注释再花1小时,上下班路上也别坐着发呆,至少可以练听力1小时,这样5小时不就出来了么?
最关键的是,这5小时并不是另外挤出来的,而只需要把以前的一些习惯改一改就好。遇到问题百度查中文文档改成Google查英文文档,把写中文注释的习惯改成写英文注释,拼音变量名改成英文短语变量名,尽量和国际接轨,做一个高端大气国际化的码农。除了这5小时之外,平时没事也可以听点外语歌,感受一下英语的韵律;有机会就经常去听一些国际性的行业大会;周末再去看看好莱坞原声版大片,不亦乐乎?这些都是你本来工作和生活中就有的内容,并不需要刻意地去挤很多时间苦学。只要有心,处处时时都是学习的机会。
至于6年时间有人觉得太长,如果是你喜欢做的事,谁会嫌时间长? 更何况你往后看就会发现,这1万个小时里在学英语的同时也是在学技术,而且是最基础或者最先进的技术,是不学好英语就很难及时掌握的技术。通过这个过程,你不仅英语水平提高了,技术上也能大有长进。这些都是潜移默化的,每天都在进步,而不是一定要突击到满1万小时产生一个突然的飞跃,这才是真正提高水平的真谛所在。所以我认为,学英语首先要去掉功利心理,通过一个努力的过程把英语变成你的一项爱好:看书就喜欢看英文版的书,看电影就喜欢看原声不带字幕的。如果能做到这一点,别说6年,就是60年你也能甘之如饴;反之如果你不喜欢英语,那么每天5个小时的煎熬即使是6个月恐怕都很难坚持下来吧?
写到这里,对于学习英语的心态,我想小结一下。有些同学会狠狠地下一个决心:我要开始学英语了!苦读一年练成英语神功!然后开始拿一本词典开始背单词,花了一个月时间把A打头的单词背得滚瓜烂熟,然后,就放弃了。。。我想说的是,不要把学英语看作一次磨练意志的马拉松赛跑,把它当做一次旅行,享受这个过程,享受途中的风景,不用急着赶路,这样你才能走得更远。
言归正传,1万个小时这个数据的估算方法是:阅读5000小时、听2000小时、 写2000小时、 说1000小时,下面具体说明:
1. 大量阅读是提高英语水平的基础、核心、重中之重,要在大量阅读的基础上再开始练习听力和写作。
为什么这么说?最有效的学习方式就是模仿,而听说读写四个要素里只有听和读有模仿条件。
那为什么不是先多听呢?有两个原因。一是口语比较随意,俚语方言比较多,在表达上不如书面内容严谨;二是听一次没能理解的内容不容易查找和重复。所以大量的阅读是提高英语水平的关键性基础性的工作。
有人又要问了,难道不要先背单词吗?这个嘛,我自己是最讨厌背单词的,又怎么会把你们往火坑里推呢?而且单纯地背单词用处不大,在阅读中记住的单词才是有用的。
比如在GRE单词表开头随便找个单词avalanche,释义是n.雪崩 vi.崩塌,你可以使劲地背,把它和其他几千个单词都记得滚瓜烂熟,然后当你某天在文档中看到一句话说:”… to handle an avalanche of client requests …“,你可能都想不起来背过avalanche这个单词,即使想起来也未必能准确理解它在这段话里的含义。
这是为什么呢?因为背单词是孤立地去记一个个单词,应试也许有用,但是事倍功半。最好的方法就是在阅读中去理解它,比如还是那一句,我压根不知道avalanche这个单词,但是从前后文去蒙,an avalanche of大概是说非常多的意思,如果你不确定理解得对不对就去查一下字典,就明白了这意思是”像雪崩一样滚滚而来的大量的什么东西“。
查词最好是查英-英辞典,比如Merriam-Webster的韦氏英英辞典。还有,查一个单词的时候,不要去记那几个中文释义。某些人背单词就喜欢像念经似的念叨:“capability,才能,能力,容量,性能,生产率,capability,才能,能力,容量,性能,生产率……”,旁观者都替他觉得累得慌对吧?其实你只要模糊地知道它的意思就行了,学英语尽量不要掺进来中文。老外不知道啥叫“才能,能力,容量,性能,生产率”,也没影响人家用capability这个词不是?
另外我觉得吧,单词和人一样,也是有眼缘的,记得住记不住都不要去强求。即使这一次看完又忘了也没关系,等你阅读量上去之后,遇到次数多了自然就记住了。有人说,万一有的词遇到次数很少,还是记不住咋办?对这种问题我就无语了。遇到次数很少的单词你记它干啥?有个著名单词中文意思是什么早期银版照相术的,我就偏不记它,它能把我怎么着啊?
通过这个过程,你不但记住了单词,还掌握了它的常见用法,这对于以后的写和说都是非常好的基础。现在很多人学英语的弊病在于应试思维,就仿佛孔乙己说的茴香豆的茴有四种写法,少记住一种就可能在考试里做错题被扣分,但是现实生活中你也许只需要会一种就行了,关键是知道它的意思而且能够准确地使用它。
矮马,一下子扯到背单词跑偏了。还是接着说阅读,怎么阅读呢?我推荐一种暴力方法,不管你基础如何,先找一两本和技术相关的白话书,而且是你最感兴趣的领域,比如经典的《Man Month Myth》(人月神话) 和《Joel on Software》(大神Joel谈软件开发)原版书,这样读起来好歹不那么苦闷,有助于你坚持下来。毕竟在这个起步阶段,坚持是第一位的。不然给你找本《advanced econometrics》试试,据说95%的码农读了三天之后都疯了。
就算是你感兴趣的书,也保不齐一开始读起来觉得很费劲。也许有的人翻开第一页一看,妈呀,一半单词不认识!这咋办?没事,像我前面说的,有把握蒙的就蒙,没把握的就查,查过的可以把中文意思写在单词旁边,能写英文理解更好,懒得写也没关系,总之原则就是把全部内容看懂吃透就行。
还有,句子太长里边有好多that….. which….. who….什么的从句?那也没关系,别人理解不了,可咱是码农啊,懂得嵌套结构的原理,不就是递归嘛!甭管他连了多少个,从最后面的那个往前一个一个处理,把从句用彩笔一个一个标出来,最后看清楚嵌套关系以后,句子也就容易看懂了。实际上,我觉得英语最妙的地方就在这里,它能在一个句子里用一个无限延展的树形结构来描述一个概念,直到把它定义得非常严谨无歧义为止。中文做不到这一点,必须拆成好多个句子才能做到通顺,但理解起来就困难多了。
在这个阶段一定不要求快,一天吭哧吭哧地只看了半页都没关系,也很正常,但一定要确保准确理解。在此我想特别提醒的是,如果你一开始不适应,一定要坚持下来。其实学习英语过程中最难的不是听说读写,而是英语思维。汉语是讲朦胧美的,所谓“道可道,非常道”,越深刻的东西往往越是“只可意会,不可言传”,文人写文章喜欢下结论而很少论证,结论的经验性主观性较大,例如“肉食者鄙,未能远谋”;而欧美文章则大多务求精确严谨,定义精确,论证充分,避免逻辑上的漏洞,下结论则往往比较谨慎,一般都是客观数据,尽量避免主观看法,例如“根据卫星云图,明天的降水概率为70%”。我年轻的时候买过《孙子兵法》和克劳塞维茨的《战争论》一起看,两者的风格差别真是泾渭分明。
此外对于人文方面也有很大差别。老外经过文艺复兴,对于人文关怀有了很好的基础,更强调个人自由和权利,所谓”风能进,雨能进,国王不能进”;我们从历史文化传承的角度看则是集体大于个人,更强调个人适应环境。再比如老外对于弱势群体的歧视嘲笑是非常忌讳的,但中国人往往习惯了小品里瘸子瞎子胖子出场摔一大跟头这样的笑料。
所以,这些思维上的差异才是学英语的最大障碍,而大量阅读有助于理解和养成这种思维习惯。特别是逻辑上的严密性和表达的客观性方面,由于文化传统和教师本身的原因,在中国现在的教育环境很难训练出来。但是通过大量阅读英语材料,就可以达到很好的洗脑效果,实为居家旅行、和平演变必备良药。
读完两三本白话书就算是热好身了,下面可以开始读一些更枯燥的东西,主要是专业教课书。如果上大学的时候学的《数据结构》、《离散数学》、《操作系统》这些都还给老师了,正好拿英文版的复习一下。找你专业相关的基础课原版教材,5本左右,开练。照着前面的要求,一样细细地看,不求快但求精,练习题也好好做一部分,不然你怎么知道自己确实理解透了?
等你看完这几本,阅读基本上就算入门了,可以开始练习写作和听力。具体做法后面再细说。
与此同时,要开始看一些行业里最新的技术文档。这些可能还没出书,也可能有一些免费的pdf,不管怎样,也找5本左右来看,什么MongoDB,Neo4j,Node.js,AngularJS之类的,细细地看,边看边做个系统练手,因为这些新技术文档还比较少,社区里的东西也不多,所以免不了要去StackOverflow问,或者去GitHub找些例子来看,别偷懒,这些都是很好的学习方式。
等你把这几本书也啃下来以后,按A4纸算,你的阅读量肯定会达到7000页以上,在SO, GitHub, Google上查看过的英文资料也不会少于3000页,阅读总量肯定超过1万页了。现在恭喜你,你的阅读能力肯定没问题了。如果我没猜错的话,你这时候碰到翻译版的书都懒得瞟一眼,更别说花钱买和花时间读了。
另外,阅读能力达到这个水平以后,写作也基本有个基础了。所谓“熟读唐诗三百首,不会作诗也会吟”,看多了以后你会发现英语写作也有一些套路,和中文是一个道理,经过大量的阅读,很多句式其实已经在你的脑子里了,只要在写作过程中经常练习这些句式,自然就熟能生巧了。
2. 写作要创造环境,每天都要写1000字以上。
在互联网时代,这一点也不难。最简单直接的办法就是注册一个StackOverflow账号,起初是去问问题,把你搞不定的代码贴上去,会有大牛们帮你搞定,顺带着阅读也练了;等你技术水平涨了以后,想想这么多人帮了你你才成了大牛,总不能只进不出吧,有余力了就应该报复社会,所以就经常去StackOverflow找一些你拿手的主题,帮其他菜鸟们解答一些问题,这样也就练了写作了,一举两得多好!
等你在SO上混出了点名堂,有点江湖地位的时候,就会有人来找你,比如帮忙干点活啊咨询点问题啊之类的,自然邮件联系就少不了了,这都是练习写作的机会,就算你不想帮他干活,也可以和他扯一扯。
另外,弄个FQ软件比如goagent,注册个Google Plus账号,上去看看热点文章,写点自己的体会之类的。实在闲得无聊也可以找Linus之类的大牛混,他每发一贴你就上去评论一番或者请教一下,先混个脸熟嘛!顺带也练习了写作。时间长了,说不定大牛还喜欢上你了,没准随便给你个肉身FQ的机会,这就是意外之喜了。
总之,写作是大量阅读之后水到渠成的产物,不过要注意一点,写出来的每个句子甚至每个单词都要务求精准地道,不知道的不要瞎写,要么改换自己熟悉的写法,要么查清楚了再写。要是养成随意乱写的习惯,写出来的句子都是中国人能看懂,外国人都看不懂,那前面的努力就付诸东流了。
3. 听力要在阅读能力达到一定水平后再开始练习,和前面说的阅读给写作打基础的关系相似,练听力的同时其实就在为口语打基础。
我首先要说的是,千万不要跟着美剧什么的练听力,你又不是打算偷渡去纽约皇后区卖毒品跟黑人大哥混,就算你听一耳朵就能熟练分辨出说WTF are you doing的是意大利人、爱尔兰人还是黑人,又有啥用呢?咱们做码农的一定不要忘了自己的本分,得跟着码农的大哥混才对。所以练习听力一定要多找IT圈的大牛的访谈来听。
最经典的自然是天妒英才英年早逝的乔帮主,多听听他的访谈你就知道他的成功绝非偶然。像这样一位逻辑严密,思维活跃,表达能力强,善于调动听众情绪,还很有幽默感,而且做事又非常有韧性的人,实在是百年难遇的天才人物。
比尔盖茨的访谈就差多了,他的表达能力真的是不敢恭维,有时候东拉西扯的听不明白重点,依稀有点韩乔生老师的风韵。政客系列也不推荐,像奥巴马的讲演听起来总有一种似曾相识的赶脚,细细一想,这不就是美国版的传销讲座嘛!
所以,多听乔大神的访谈绝对是没错的。为啥是访谈呢?因为都是对话,形式上和咱们的需求匹配,咱们工作中需要的英语对话就是类似于访谈式的,你想想是不是?而且他的访谈聊的都是咱们挨踢的事儿,背景知识都比较熟悉,你专心听他的表达和逻辑就好了。你要是不服,俺给你弄个生物系教授讲分子生物学课程的录音让你听,你听完还能找得到北吗?
这些访谈在网上都有,到iTunes里的podcast里大把大把的,不过别找带字幕的听,千万!
现在材料有了,怎么听呢?我先告诉你,每个访谈都要听100遍以上,头20遍就是稀里糊涂地听,能听懂多少听懂多少,听不懂的先蒙。但我敢保证,第20遍肯定比第1遍听懂的东西要多多了。到了20遍还在蒙的,基本你听到第100遍也还是在蒙,所以再蒙下去就没意义了,这时候找到文字版好好看一遍,就看一遍,然后收起来,再听20遍,这时候有些原来靠蒙的就听出来了,听完20遍再看一次,再听,如此反复,100遍之后基本应该都不用蒙了,然后再听下一个。听过100遍的,以后也要经常复习,反复听,再背几遍,很多句型就会自动进到你的脑子里,给你的口语打下一个很好的基础。
IT界的访谈每个大概都在1-2小时之间,就算1.5小时吧。一个听100遍就是150小时,精听10个就是1500小时。10个就够了,不用追求数量,关键是重复。当然平时还要有一些泛听,比如英文广播、看CNN新闻什么的,越多越好,这些就不求全听懂,听懂多少是多少,一遍就过去,权当是个消遣。
在这之后,再故意去找一些录音不是那么清晰的访谈来听,比如乔大神96年回到Apple时,在当年的WWDC上的访谈。这个访谈很有意思,因为他一回来就砍掉了好多正在做的产品,有很多利益受损的听众对他不服不忿的,带讽刺挖苦甚至攻击性的问题也不少,可乔大神应对自如,潇洒极了。这个访谈大概是因为年代久远,杂音比较多,音质也不太好,但仔细听也能听出来。很好,就是它了!就照着这个标准找那么三、四个略模糊的访谈,比如通过电话进行的一些访谈,再如法炮制,按100遍的方法听它500小时,这样听力基本也就过关了。
有人大概心里会嘀咕:故意找这种模糊的录音听有什么意义呢?这主要是让你适应不那么理想环境下的听力,比如在喧闹的餐厅里对话,或者是老外通过skype对你进行电话面试,而你只能听清专业录音设备录下来的访谈,那咋行?所以也需要在前面理想条件下1500小时听力练习完成的基础上,训练一下恶劣条件下的听力。
4. 练习口语是最麻烦的,因为说的条件最难创造,这必须得有个大活人认真地跟你聊才行啊!
当然了,要是你能找个英语母语的老外谈对象,那就又省事又高效了。不过,等口语练好了一定要一脚将其踹掉。要记住,你是一个中国人,肥水不流外国田!
好了,大晚上的不扯淡了。练习英语口语不外乎这么几个途径:交外国朋友,进外国公司,或者花钱雇外国人跟你聊。各人工作、经济情况不同,这就自己选择吧。反正现在改革开放了,一部分人也富起来了,跟谁聊也就丰俭由人了。
不过这里要提醒一点,别去什么英语角练口语,这种地方要么是一百多人围着一个老外,跟看猴似的,要么就是一堆中国人互相来几句好肚油肚,听着就想摸摸对方的肚子看看有多好有多油,纯粹浪费时间!我认为,练口语一定要找英语是母语的人士练习,这样才能事半功倍。
另外,有机会就多去美国英国澳大利亚加拿大什么的地方转转,现场体验一下自己的学习成果。不过我这里讲的主要是码农工作相关的东西,基本没涉及到生活类的英语,比如去麦当劳买个milk shake什么的,这些主要要靠现场体验现场学习,但有了前面阳春白雪的码农高端上流社会英语作为基础,这些下里巴人的生活英语上手很快,对你肯定不在话下。
【补充】有同学想让我推荐一些学习材料,我后来补充了一篇补充一些英语学习素材,供大家参考。
关于码农如何学好英语,我就先说这么多吧。最后再总结一下,英语学习是一个终身的事业,只有通过痛苦的起步阶段,慢慢把它变成你的一个爱好,才能持久下去。等到它真正成为你喜爱的东西了,你就会发现眼中的世界从此变得不同。它变大了,变得多样化了,也变得更美好了。这时,所有的努力和坚持都有了回报。
作者微博:@老码农的自留地 (转载请保留)