• 程序员学英语
    时间:2012-07-26   作者:四火的唠叨   出处:raychase.net

    老实说,我对于英语的认识,从没有把它的重要性放到一个足够的高度上来,从去年下半年开始,接触到越来越多的英文材料,也随着视野的开阔,逐渐发现英文能力,是程序员个人发展的必备技能。在很多情况下,它的重要性可以用“致命”来形容。以前有同事说,程序员职业生涯的发展,起到决定作用的,绝大多数时候都不是技术和业务,而是其他被人忽视的“软实力”,譬如沟通、性格、英文等等。兴许我现在正在渐渐参悟这句话的含义。

    我在这篇文章中,已经讲到了“为什么程序员非得搞定英语”:

    中国人为什么要学英语,程序员为什么要学英语,当我把那些方法名、变量名全部取成拼音,一样可以,谁下的这个破规定?
    遗憾的是,诸多学习材料、论文、技术资料(尤其是一些刚出不久的技术),都是英语的;另一方面,国际标准、程序员交流的通用方式,都是英文的,我想肯定很难想象,那些有名的framework、lib的源码,如果用拼音来写变量名会成什么样子。
    所以,如果你的英语不好(至少读写不好),就不要给自己找太借口,英语是一个掌握其他工具的工具,除非你坚信,中文很快就会在计算机界变成世界第一通用的语言。

    但是原因,其实远不止上面所说的。

    如果只懂中文(尤指口语),只能把自己局限在一个比较小的技术圈子里面,和你交流的人,不能超出这个范畴。都说语言是一门工具,把英语掌握不仅仅因为它是世界最流行的语言,更重要的是,世界最优秀的程序员,大多是用英语交流的;世界最优秀的技术,大多使用英文表述的。翻译解决不了技术沟通和讨论的大部分问题,尤其是在软件这个领域内。

    再说一个实际不过的例子。这些天我们和整个项目组的同事坐在一起讨论问题,有来自印度的、中国的,还有美国的同事。其实讨论的问题并不复杂和深奥到何处,但是很明显,来自中国的同事都挣扎于英语的表达(大多数情况下,“听”能能力要比“说”强太多了),这成为了技术或者业务交流的瓶颈。一言以蔽之:你再牛,说不出来,又能如何?

    也许在可以预见的将来,英语将和编程一样(或者比编程更早),成为世界上几乎所有人必备的技能。编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。而未来的编程技术可以将这种程序代码的编写大众化。例如在微波炉上按几个按钮(相当于录入几个宏指令),给微波炉设定好食物烹调的方式并开始工作,这就是编程大众化的一个简单例子。世界上大部分人的沟通,如果能够统一到一种语言上面,定能减弱和消除许多语言带来的屏障和浪费。波兰的一位医生创立了“世界语”,但是真正能够成为“世界语”的,至少从目前看,只有英语而已。

    对于每一个有志于改变生活和改变世界的程序员,都要掌握这样的基础技能,它们非传统意义上我们讨论的软件技术,也非和你的情商相关的玄妙的东西,但是确是结结实实影响你和改变你的元素,比如英语能力,还有翻墙的办法。关于墙外的事情我们暂不讨论,现在只说说程序员应该怎样来学习英语:

    阅读大量的英文技术文章。我本人属于愚笨型(没有任何自谦的意思,就是事实),对于外语,起码在阅读上很不敏感,再一个记性也不佳。在学生阶段,我不记得做过多少英文习题,但是都没有好的效果,至今我也没有总结出足够有效的英语学习办法。所以直到现在,在英语识别上面,还会被人嘲笑。不过我脸皮够厚,我相信总会搞定它。事实上和去年相比,我的英文阅读能力还是有了许多进步,从阅读速度上就能看出来。英文技术文章可以到著名的blog上面去找,或者去找你感兴趣的开源项目。这是我的办法。

    读写是连在一起的,听说是连在一起的。所以对于听说能力的提高,我倾向于去寻找一些英文的技术讲座。以前我也听VOA,但是后来发现老美讲话往往和VOA差别很大,所以还不如去找原汁原味的英语技术材料。由于生活环境都是中文化的,缺少英语环境的强化,所以我们不得不额外使用一些材料来保持对于英文的敏感性。在阅读和读写的过程中,尽量去用英文思维,而不是逐字逐句翻译。这话说起来简单做起来难,网上有一些资料,比如靠一些语言外的辅助信息去记忆,例如记住“red”这个词的时候,不去记忆“红色”,而是在大脑浮现红色这个颜色来记住它。英文说得好的程序员请和我讨论,毕竟我的办法并不多。

    养成访问英文网站的习惯。无论是网上购物、新闻阅读还是SNS,保持自己跟上新讯息的节奏,不妨都尝试着转到英文网站上来(如果不会翻墙请先学习翻墙)。我在努力做这件事情,因为我发现这是一个培养英文思维的好方式。美国许多大学的公开课是一个很不错的资源。

    把注意力转移到内容上,而不是语法、音准上。不是说语法、音准这些不重要,而是说,如果把注意力放在这两者上,将无助于用英文思维和表达。对我来说,这在学生时代简直是不可想象的。因为老师经常会打断你,或是在你短短的一句话以后指明你的语法错误,还有哪一个词又读错了。我以前就过度地关注了音准,以前参加过英文演讲比赛,评委发现我演讲的时候口语很流利和地道,那仅仅是因为我在“背诵”,但是到了自己“说”的环节,吞吞吐吐得不行。事实上,我留意到老美在说英语的时候,语法问题也不少,而口音上美国东西部也有所不同。毕竟,语言是用来交流的工具,交流如果只关注在交流本身,它就没有价值。有价值的一定是交流的内容。

    在写程序、设计文档等等时候,对于英文的用词精益求精。哪怕细小到变量命名,这本身是职业化的表现。但是,这些关注到的词句往往是反复出现的,而且很可能是常规途径(比如字典)不容易查到的。同事举了个例子,新员工入职,用什么词?“entry”?确实有人用;更多人用“on board”,这个还勉强能查到;最多人用“ramp up”,这个我就在字典里查不到入职这个意思了。

    啰嗦了一大堆,仅是我自己的体会而已。如果程序员的你也有好的办法,不妨说出来,一起分享。

    网友留言/评论

    我要留言/评论

    相关文章

    程序员看法上的几个典型错误:今天我不谈抱负理想,也不谈具体的技术,我来谈几个看法上的典型错误。下面的这些问题都是我曾经遇到,或者是我的朋友们遇到过的问题,这些都是我个人的理解,希望对大家有帮助。
    读《神一样的产品经理》:随着iPhone的风靡全球,乔帮主也把产品经理推到了极致,在看了《神一样的产品经理》后,借着ITeye的活动,发一点牢骚。
    技术文化建设实践:众所周知,良好的技术文化不仅有助于人才成长和提升团队内聚力,更是吸引和留住优秀人才的一大法宝。然而,该如何营造良好的技术文化呢?且听本期三位嘉宾的经验分享。本文是专题《怎样营造良好的技术文化》中的第三篇。第一篇是张克军带来的《悉心营造良好的技术文化》,第二篇是许晓斌分享的《分享促进技术文化建设》。
    有关创业公司融资最常被问的问题集锦:很多的创业公司都是沿着一个老套路:一个创业者,一个理想,一个计划就开始自己的创业。往往一提到创业人们就是人潮涌动,而单独一人上路的比有自己的雇员的创业者更加数不胜数。但是谈到成功,许多创业公司必要更深度的一整套的技能和经验。相信创业者们融资时面对投资商所提的这些问题可以引起一些反思。
    移动app设计的那些创新点:移动互联网发展得热火朝天,各种app层出不穷,我们看到了很多创新精巧的小应用,但是也有越来越多的应用同质化严重,与同类产品差异化较小。其实很多让人感觉很有新意的应用,只是找到了一个很小很别致的切入点。或者是抓住了用户的某一种心里,或者是在界面布局上大胆突破,或者是做了很少有人关注到的细分领域,或者是让人产生了真实生活中的亲切感。下面就来聊聊这些新颖别致的创新点。
    如何做一个优秀的领导者:TeamLeader是比较尴尬的角色,是从技术往管理的一个尝试性的阶段,这个阶段是比较辛苦的。
    效果图进阶展现,给效果图赋予思想和生命:设计师所做的每个作品都像是自己的孩子一样,在孕育的过程中思考了很多,但这些思考的过程、思考的方法并不是单单一张效果图就能够展现的;设计师有很多专业层面的认知,效果图上并不能展现,加上设计本来就是相对感性的,所以很多时候分歧就这样产生了。
    产品经理(尤其是创业的)需要懂技术吗?懂到什么程度?:最近七年,我都在做互联网产品,其中前五年分别在创业公司和上市公司里,做别人的产品;近两年在创业,做自己的产品。
    5大诀窍助你打造更加简洁的用户界面:本文作者Jake Rocheleau,社交媒体爱好者兼互联网企业家。他在文中根据自己的个人经验,向我们阐述了一些关于如何设计极简主义的网站界面的诀窍。这里提到的极简主义设计,就是剔除所有多余的元素,将设计保留在最基本的状态下,说来简单,实际上在当今习惯于绚丽与渐变的网站界面设计中,使用极简并非想象中这么容易。
    软件架构师的沟通修炼:在架构师的角色中,沟通是要求有效果的必备技能与工具。换句话说,沟通是架构师指示别人或群体完成特定行动唯一真正有效的手段。