最近以裁判的身份参加了公司举办的 编程大赛,发现高手云集,对公司内部的程序员能力也有了更深入的了解。我觉得编程能力对程序员而言,虽然很重要,但并不是全部。那么作为一个程序员,到底应该具备什么样的能力呢?这个话题显然太大。不过我觉得可以看看其它国家的 程序员,也许可以得到一些借鉴。我有幸和中国,美国,印度和日本四国程序员有比较深入的合作过。虽然他们不一定有代表性,但我觉得他们的共性还是比较明显的。以下的比较纯属个人见解,欢迎指正。

首先是日本程序员。他们的特点是非常仔细。我认为很主要的一个原因是日本公司的需求非常细致。细致到在网页上,连一个像素都不能偏差的地步。另外,日本人的执行力非常强,对老板的承诺比命还重要。一个项目可以做到连续3个月天天加班,每天只睡4个小时。然而,高执行力背后的代价是低创造力。在日新月异的互联网今天,很少听说日本工程师发明了哪些重要的技术。与其说这些特点是日本程序员的,不如说是大部分日本人的。因为在日本文化中,追求品质和遵守等级制度是根深蒂固的。另外,技术领域中的很多专业词汇是外来语,以英语(论坛)为主。这些专业词汇往往会被翻译成片假名。而片假名的发言有时候和英语大相径庭,导致沟通的困难。比如病毒一词在英语中是Virus,发音为歪儒斯,而日语的发音是味鲁斯。再例如服务器(Server)一词在日语中的发音是萨巴,和英文发言简直风牛马不相及。因此与日本程序员沟通是比较痛苦的,除非你懂日语。

其次来看看印度程序员。我所接触的印度工程师都是在美国工作的。虽然他们和印度本地的工程师肯定有区别,不过相似的地方应该更多一些吧。我觉得他们的普遍优点就一个:流程做得好,文档写得好。但是他们写代码的能力,我个人的观点是一般般。我想这里面有两层原因。一是有相当一部分在美国工作的印度程序员是半路出家。转行做程序员是为了生存而已。二是印度程序员在算法,数据机构等基本功方面的水平明显低于中国程序员的。这就导致他们写的很多代码逻辑性不强和性能不优(以我的标准来看)。不过这两个问题在一定程度上被大量的文档和高性能的硬件设备弥补和掩盖了。在沟通方面,印度人的英语发音对西方人而言几乎没有问题,但很难被中国人听懂,甚至往往被国人怀疑他们是不是在说英文。

从某种意义上讲,日本程序员和印度程序员十分相似。他们都很敬业,都能让领导比较满意,但不要过多地期望他们能做得更好,因为他们的目标就是完成领导指派的任务。日本程序员让领导满意的方法是不折不扣的执行和狂热的加班。而印度程序员让领导满意的方法是通过大量的文档来告诉领导他们的工作意义重大,流程严谨,资料齐全,而且成本很低。夸张一点地讲:日本程序员善于做领导想做的事,印度程序员善于说领导想听的话。

接下来说说美国程序员。美国程序员千奇百怪,好像很难只用几个词来定义他们。可能是因为美国是一个移民国家吧,本来就千奇百怪。但大部分程序员有一个共同的特点:喜欢技术,甚至崇尚技术。这点在硅谷尤为突出。这就导致每个技术领域中都有一些人会废寝忘食地钻研。其实这和打游戏一样,如果你着了迷,自然会忘了吃,忘了喝,拼命地玩。我所认识的美国程序员还有一个特点,才艺能力都不错。以前在波士顿工作的一家公司中,几十位工程师居然可以组成一个交响乐团。有小提琴,大提琴,小号,竖琴,打击乐等各种各样的西洋乐器手。而且这些哥们姐们还不是一般地玩玩,周末都有自己的固定乐队,经常参加社区的表演。更有甚者,在硅谷工作时的一位同事,白天写程序,晚上在自家的车库里练习乒乓球,竟然代表美国参加了悉尼和雅典的两届奥运会。说起写文档的能力,美国程序员绝对不亚于印度人。但是美国人写文档不是为了老板,而是为了自己,为了分享。因此他们的文档往往读起来很有趣,很实用。当然,这会让老板有时候很头疼,因为程序员不那么“听话”。他们不是给老板交差,而是要实现自己的想法,自己的设计,自己的完美。说白了,就是美国程序员有时候想法多了点。

最后是我们中国的程序员。和其他国家的程序员相比,我觉得他们的特点还是比较明显的。他们的算法能力普遍高于其它几个国家的。这可能是我们的教育体制导致的,比较注重理论知识。反过来,实践能力就相对差些。我们的程序员执行能力并不差,但在解决问题的能力上明显不足。往往需要把任务分解得很细以后才能完成,独立解决问题的能力不够。另外在表达能力上也相对差些。相信大家一定见过技术水平很高,但表达能力很差的工程师。最好笑的是,我见过不少工程师拿着一支写不出字的白板笔(我们的白板笔质量也确实不咋样),有模有样地在白板上写字。仿佛听众可以看得到他/她写得是什么。因为他/她完全沉浸在自己的逻辑中,完全不去体会听众的感受。不过我认为这些缺点并不严重。

因为这些是属于技能和经验方面的东西,是可以通过实际工作或者培训来提升的。我认为国内程序员最大的问题还是所处的环境不利,导致相当一部分人比较浮躁和急功近利。真正能够沉下心来钻研技术,热爱技术的是凤毛麟角。我在面试的时候,常常发现工程师知识面还挺广,但深度几乎没有。这样的人很难在技术领域有所作为。我希望找到的人是,敢于承认自己不会的地方,但是只要会的东西,哪怕就一样,就要一定比别人理解得透,钻研得深。我相信一个人如果在某一个问题上比别人做得好,在其它问题上也一定有能力超越别人。

虽然比较下来,看到中国程序员不少的问题。但作为群体,中国的 程序员可能是全世界最聪明的工程师群体。因为环境的原因,使得他们不得不想法很多,顾虑很多,无法最大程度地将聪明才智发挥在技术上。改变这种状况首先要从公司的管理层开始。只有技术负责人热爱技术,追求卓越,才可能为技术人员创造环境,激励他们钻研和创新。技术负责人需要深入项目,和工程师们一起讨论技术设计,从而通过具体问题来提升工程师的能力,同时也防止自己的技术能力滑坡。在技术管理上,很多国内的公司把工程师简单地作为资源,过于强调流程管理和资源管理。我的观点是:工程师不是高级蓝领,不能以管理生产线的方式来进行管理。优良的环境只有靠大家一起来创造。中国工程师一定可以成为世界上最优秀的工程师群体。

中日美印四国程序员碰到一起相关推荐

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

    揭秘IT人才特点:中美印日四国程序员比较 最近以裁判的身份参加了公司举办的编程大赛,发现高手云集,对公司内部的程序员能力也有了更深入的了解.我觉得编程能力对程序员而言,虽然很重要,但并不是全部.那么作 ...

  2. 揭秘IT人才特点:中美印日四国程序员比较—兄弟连IT教育

    揭秘IT人才特点:中美印日四国程序员比较-兄弟连IT教育 最近以裁判的身份参加了公司举办的编程大赛,发现高手云集,对公司内部的程序员能力也有了更深入的了解.我觉得编程能力对程序员而言,虽然很重要,但并 ...

  3. 中美印日四国程序员比较[转自http://www.myexception.cn]

    最近以裁判的身份参加了公司举办的编程大赛,发现高手云集,对公司内部的程序员能力也有了更深入的了解.我觉得编程能力对程序员而言,虽然很重要,但并不是全部.那么作为一个程序员,到底应该具备什么样的能力呢? ...

  4. 中美印日四国程序员比较------wuzhimin

    最近以裁判的身份参加了公司举办的编程大赛,发现高手云集,对公司内部的程序员能力也有了更深入的了解.我觉得编程能力对程序员而言,虽然很重要,但并不是全部.那么作为一个程序员,到底应该具备什么样的能力呢? ...

  5. 我眼中的中美印日四国程序员的特点

    最近以裁判的身份参加了公司举办的编程大赛,发现高手云集,对公司内部的程序员能力也有了更深入的了解.我觉得编程能力对程序员而言,虽然很重要, 但并不是全部.那么作为一个程序员,到底应该具备什么样的能力呢 ...

  6. 中、美、印、日四国程序员大比拼

    最近以裁判的身份参加了公司举办的编程大赛,发现高手云集,对公司内部的程序员能力也有了更深入的了解.我觉得编程能力对程序员而言,虽然很重要,但并不是全部.那么作为一个程序员,到底应该具备什么样的能力呢? ...

  7. 美印两国程序员真的平分秋色吗?

    如果我们留意一下过去美国和印度程序员所有的刻板印象.看法.主观和客观的评估,我们能从中可以发现哪个群体的技能更高么? 为了解决这个问题,GILD网站已经发布了首个量化的研究结果.一个关键的发现是:印度 ...

  8. 程序员中一些老的程序员去哪了

    程序员中一些老的程序员去哪了 一.总结 一句话总结: 身边 老师 改行 发展 升职 公司 文中对应内容: 我的回答:就在您的身边.我迅速在脑子里过了一遍,成都SAP研究院每个敏捷开发小组都有至少两到三 ...

  9. 在梦中写代码的程序员,比例居然这么高

    (给程序员的那些事加星标) 原创整理:程序员的那些事(id:iProgrammer) 程序员在梦中写代码或调 Bug  俗话说:日有所思,夜有所想.程序员在梦中写代码或调 Bug,我也有过. 我们趣图 ...

最新文章

  1. 三大测序平台芯片通量对比图
  2. 《AI系统周刊》第1期:社群招新,打通智能计算软硬件“任督二脉”
  3. Linux命令大全(Ubuntu18系统)
  4. 在C#中使用 CancellationToken 处理异步任务
  5. lamp ci框架 php配置文件,LAMP环境搭建
  6. Hadoop(五)HBase基础
  7. windows cmd命令行findstr 类似linux中的grep
  8. 浅析Vue源码(二)—— initMixin(上)
  9. hp laserjet1010 win7 64打印慢问题
  10. 杜绝不良信息侵害未成年,皮皮APP发起语音社交行业自律书
  11. Docker系列文-----Docker的网络类型(4)
  12. 怎样调整Firefox火狐浏览器开发者控制台字体大小
  13. WinHTTP 会话概览
  14. 工程光学第一、二、六章学习总结
  15. 常见程序首页添加备案编号链接工信部
  16. 在线看奥运----资源大全
  17. 战地3皓月服务器win10系统,win10系统战地3打不开的方法
  18. 易能机器人_江西全新台达机器人
  19. 五大主流印章制作软件火热横评
  20. 虚拟机免密登录 (SSH 无密登录配置)

热门文章

  1. CCRenderTexture画点出现十字架歪解
  2. 听红楼 第十八回 隔珠帘父女勉忠勤 搦湘管姊弟裁题咏
  3. 以设计美学缔造行业软实力 姊芙设计 与您共同见证
  4. 曾经沧海难为水 除却巫山不是云
  5. 大数据「偏见」会让我们变蠢吗
  6. 100人坐飞机,第一个乘客在座位中随便选一个坐下,第100人正确坐到自己坐位的概率是?
  7. 智能摄像头为什么会得到这么多人的喜爱?
  8. Python Tutorial中英双语对照文档1
  9. 人脸识别翼闸使用规范_测温人脸识别闸机翼闸的常规维护保养
  10. wind量化交易接口怎么用?