15

揭秘IT人才特点:中美印日四国程序员比较

作者: wuzhimin 分类:坊间人语   阅读:139,054 次 添加评论
      最近以裁判的身份参加了公司举办的编程大赛,发现高手云集,对公司内部的程序员能力也有了更深入的了解。我觉得编程能力对程序员而言,虽然很重要,但并不是全部。那么作为一个程序员,到底应该具备什么样的能力呢?这个话题显然太大。不过我觉得可以看看其它国家的程序员,也许可以得到一些借鉴。我有幸和中国,美国,印度和日本四国程序员有比较深入的合作过。虽然他们不一定有代表性,但我觉得他们的共性还是比较明显的。以下的比较纯属个人见解,欢迎指正。
 
      首先是日本程序员。他们的特点是非常仔细。我认为很主要的一个原因是日本公司的需求非常细致。细致到在网页上,连一个像素都不能偏差的地步。另外,日本人的执行力非常强,对老板的承诺比命还重要。一个项目可以做到连续3个月天天加班,每天只睡4个小时。然而,高执行力背后的代价是低创造力。在日新月异的互联网今天,很少听说日本工程师发明了哪些重要的技术。与其说这些特点是日本程序员的,不如说是大部分日本人的。因为在日本文化中,追求品质和遵守等级制度是根深蒂固的。另外,技术领域中的很多专业词汇是外来语,以英语(论坛)为主。这些专业词汇往往会被翻译成片假名。而片假名的发言有时候和英语大相径庭,导致沟通的困难。比如病毒一词在英语中是Virus,发音为歪儒斯,而日语的发音是味鲁斯。再例如服务器(Server)一词在日语中的发音是萨巴,和英文发言简直风牛马不相及。因此与日本程序员沟通是比较痛苦的,除非你懂日语。
 
     其次来看看印度程序员。我所接触的印度工程师都是在美国工作的。虽然他们和印度本地的工程师肯定有区别,不过相似的地方应该更多一些吧。我觉得他们的普遍优点就一个:流程做得好,文档写得好。但是他们写代码的能力,我个人的观点是一般般。我想这里面有两层原因。一是有相当一部分在美国工作的印度程序员是半路出家。转行做程序员是为了生存而已。二是印度程序员在算法,数据机构等基本功方面的水平明显低于中国程序员的。这就导致他们写的很多代码逻辑性不强和性能不优(以我的标准来看)。不过这两个问题在一定程度上被大量的文档和高性能的硬件设备弥补和掩盖了。在沟通方面,印度人的英语发音对西方人而言几乎没有问题,但很难被中国人听懂,甚至往往被国人怀疑他们是不是在说英文。
 
      从某种意义上讲,日本程序员和印度程序员十分相似。他们都很敬业,都能让领导比较满意,但不要过多地期望他们能做得更好,因为他们的目标就是完成领导指派的任务。日本程序员让领导满意的方法是不折不扣的执行和狂热的加班。而印度程序员让领导满意的方法是通过大量的文档来告诉领导他们的工作意义重大,流程严谨,资料齐全,而且成本很低。夸张一点地讲:日本程序员善于做领导想做的事,印度程序员善于说领导想听的话。
 
      接下来说说美国程序员。美国程序员千奇百怪,好像很难只用几个词来定义他们。可能是因为美国是一个移民国家吧,本来就千奇百怪。但大部分程序员有一个共同的特点:喜欢技术,甚至崇尚技术。这点在硅谷尤为突出。这就导致每个技术领域中都有一些人会废寝忘食地钻研。其实这和打游戏一样,如果你着了迷,自然会忘了吃,忘了喝,拼命地玩。我所认识的美国程序员还有一个特点,才艺能力都不错。以前在波士顿工作的一家公司中,几十位工程师居然可以组成一个交响乐团。有小提琴,大提琴,小号,竖琴,打击乐等各种各样的西洋乐器手。而且这些哥们姐们还不是一般地玩玩,周末都有自己的固定乐队,经常参加社区的表演。更有甚者,在硅谷工作时的一位同事,白天写程序,晚上在自家的车库里练习乒乓球,竟然代表美国参加了悉尼和雅典的两届奥运会。说起写文档的能力,美国程序员绝对不亚于印度人。但是美国人写文档不是为了老板,而是为了自己,为了分享。因此他们的文档往往读起来很有趣,很实用。当然,这会让老板有时候很头疼,因为程序员不那么“听话”。他们不是给老板交差,而是要实现自己的想法,自己的设计,自己的完美。说白了,就是美国程序员有时候想法多了点。
 
      最后是我们中国的程序员。和其他国家的程序员相比,我觉得他们的特点还是比较明显的。他们的算法能力普遍高于其它几个国家的。这可能是我们的教育体制导致的,比较注重理论知识。反过来,实践能力就相对差些。我们的程序员执行能力并不差,但在解决问题的能力上明显不足。往往需要把任务分解得很细以后才能完成,独立解决问题的能力不够。另外在表达能力上也相对差些。相信大家一定见过技术水平很高,但表达能力很差的工程师。最好笑的是,我见过不少工程师拿着一支写不出字的白板笔(我们的白板笔质量也确实不咋样),有模有样地在白板上写字。仿佛听众可以看得到他/她写得是什么。因为他/她完全沉浸在自己的逻辑中,完全不去体会听众的感受。不过我认为这些缺点并不严重。
 
      因为这些是属于技能和经验方面的东西,是可以通过实际工作或者培训来提升的。我认为国内程序员最大的问题还是所处的环境不利,导致相当一部分人比较浮躁和急功近利。真正能够沉下心来钻研技术,热爱技术的是凤毛麟角。我在面试的时候,常常发现工程师知识面还挺广,但深度几乎没有。这样的人很难在技术领域有所作为。我希望找到的人是,敢于承认自己不会的地方,但是只要会的东西,哪怕就一样,就要一定比别人理解得透,钻研得深。我相信一个人如果在某一个问题上比别人做得好,在其它问题上也一定有能力超越别人。
 
      虽然比较下来,看到中国程序员不少的问题。但作为群体,中国的程序员可能是全世界最聪明的工程师群体。因为环境的原因,使得他们不得不想法很多,顾虑很多,无法最大程度地将聪明才智发挥在技术上。改变这种状况首先要从公司的管理层开始。只有技术负责人热爱技术,追求卓越,才可能为技术人员创造环境,激励他们钻研和创新。技术负责人需要深入项目,和工程师们一起讨论技术设计,从而通过具体问题来提升工程师的能力,同时也防止自己的技术能力滑坡。在技术管理上,很多国内的公司把工程师简单地作为资源,过于强调流程管理和资源管理。我的观点是:工程师不是高级蓝领,不能以管理生产线的方式来进行管理。优良的环境只有靠大家一起来创造。中国工程师一定可以成为世界上最优秀的工程师群体。
 
来源: 腾讯教育论坛
转播到腾讯微博

----->立刻申请加入《程序员》杂志读者俱乐部,与杂志编辑直接交流,参与选题,优先投稿

224 Responses to “揭秘IT人才特点:中美印日四国程序员比较”

  1. Jamesprite 说道:

    文章不咋滴,评论是亮点,看文章不如看评论。

  2. anti 说道:

    好像日本人发明了ruby,我们和印度人又什么贡献?

  3. lihuan 说道:

    想要像美国程序员那样工作、生活,专注

  4. zengnjin 说道:

    日本 印度的程序员不了解
    不过对美国 尤其是中国的程序员的状况 还是描述得挺到位的

  5. junx 说道:

    我也是众多浮躁的国内程序员中的一名,美国人工作起来很厉害,一天睡4,5个小时是常事,我们项目的leader在丹佛,我们早上9点到下午5点,人家基本都是在线,望尘莫及啊

  6. Bill zheng 说道:

    中国的程序员可能是全世界最聪明的工程师群体……全文最搞笑的地方。

  7. william 说道:

    不是搞笑是最恶心的地方

  8. Lincoln Yu 说道:

    希望作者描述的是真的。
    算法好基础好是很重要的本事,只是有各种各样原因,没法发挥出来。软件开发也许真的不是那么简单的事情,不仅要重细节,也要会全局。同时也觉得学校教育要付很大责任。
    任重而道远。

  9. JJOE 说道:

    中国工程师,想钻研也没环境支持。一根钻杆打不成井

  10. itzyjr 说道:

    同志仍需努力!

  11. pei 说道:

    赞,对美日印程序员的描写很到位,有同感。

  12. Verset 说道:

    完全环境因素影响,中国现在的社会现状什么样,打个比方,在家里研究一年的程序,美国的程序员可以领到每月的补助金,中国的不仅要饿死,还要带上无业游民的帽子,计算机本来就出自老美,人家重视啊,中国连《算经》都有,所以算法方面没有争议,中国根本不重视计算机编程而已,美国的学生上初中了就会编程,我上初中哪时候老师还在Win2000上面教我们Word,我去你媽了,操中国!渣国一个!

  13. ryan 说道:

    作者的见解不得不说实在是过于片面化了,你跟这些国家程序员算是白合作了,因为导致了你对他们错误的认识,有害而无益处。高执行力跟低创造力有毛关系?中国程序员算法理论好,怎么没见有几个人能够对算法有改进?在经典算法里有几个是中国人提出来的?

  14. l 说道:

    作者自己的标准太多了,文章会不会不客观啊?印度人在计算机方面也是有很贡献的啊,难道作者的一篇文章就可以磨灭了?

  15. NATO 说道:

    Bill zheng 说道:
    2012年07月24日 9:45 下午
    中国的程序员可能是全世界最聪明的工程师群体……全文最搞笑的地方。
    =========================================================
    搞笑吗?一点都不搞笑。你觉得搞笑是因为你没有和欧美的进行过项目方面的对抗,是因为你自己不去专研。你自己笨就想当然的认为周围的人和你一样笨。

  16. NATO 说道:

    l 说道:
    2013年02月28日 2:55 下午
    作者自己的标准太多了,文章会不会不客观啊?印度人在计算机方面也是有很贡献的啊,难道作者的一篇文章就可以磨灭了?
    ===================================================
    哥最烦的就是阿三。动不动就拿流程来搪塞人,然后一大堆邮件发来发去。一点屁事能开3天会。就TMD没几个认真写代码的。

  17. NATO 说道:

    Verset 说道:
    2012年12月8日 2:53 下午
    完全环境因素影响,中国现在的社会现状什么样,打个比方,在家里研究一年的程序,美国的程序员可以领到每月的补助金,中国的不仅要饿死,还要带上无业游民的帽子,计算机本来就出自老美,人家重视啊,中国连《算经》都有,所以算法方面没有争议,中国根本不重视计算机编程而已,美国的学生上初中了就会编程,我上初中哪时候老师还在Win2000上面教我们Word,我去你媽了,操中国!渣国一个!
    =========================================================
    动不动就责怪外界环境,这是懦夫的行为。
    我大学同学农村里面出来的。进大学之前连电脑都没有摸过。现在在米国google总部搞算法编程。还有几个在淘宝搞架构。不仅是他,我们当年起码80%多的人都是进了大学才正式接触电脑。什么office之类的,第一次看到的时候完全把我们集体弄傻了。那时候打字都不会。现在不也学的好好的吗?
    什么东西都要别人重视,都要别人教。动不动就骂外界环境,甚至骂国家。除了让人看出你愤世嫉俗,无能为力和素质低下之外,还有什么其他作用吗?

  18. 说道:

    最后咋是工程师啊

  19. petershen 说道:

    NATO说得好!

  20. Drupal老梁 说道:

    文章整体不错,个别观点值得商榷。

  21. leory 说道:

    支持NATO,我也是差不多进大学才摸过电脑,现在也会写代码

  22. skyyxujinsong 说道:

    Bill zheng 说道:
    2012年07月24日 9:45 下午
    中国的程序员可能是全世界最聪明的工程师群体……全文最搞笑的地方。
    =========================================================
    搞笑吗?一点都不搞笑。你觉得搞笑是因为你没有和欧美的进行过项目方面的对抗,是因为你自己不去专研。你自己笨就想当然的认为周围的人和你一样笨。
    ==========================
    你很蠢却很自信。操作系统,数据库,浏览器内核…..中国一个都做不出来,

  23. jlf 说道:

    不支持 NATO ,这个 只是个别现象。跟你周围环境估计有关,反正我是没见过三流大学 这么牛逼的。好多文档 都时英文的 ,基础差的连英语都要重新摸,谈何程序

  24. 笋竹 说道:

    额,我就是一大学生,现在开始学习写程序,等我能写出好程序的时候吧,我下创造一个好的产品,等大家看我的。

请评论

preload preload preload
京ICP备06065162