`
harry
  • 浏览: 184138 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

四国程序员的比较

阅读更多

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

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

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

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

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

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

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

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

分享到:
评论

相关推荐

    四国军棋希望对C++程序员有用啊

    四国军棋是一种深受棋类爱好者喜爱的策略游戏,它涉及到玩家之间的合作与竞争,而将这款游戏编程实现,无疑是对C++程序员技能的一种考验。在C++中开发四国军棋,可以深入理解和运用C++的面向对象特性、内存管理、多...

    sgjq.rar_sgjq_军棋_四国军棋_四国军棋源码

    对于四国军棋这款游戏来说,源码的发布意味着开发者或者有兴趣的程序员可以直接查看和修改游戏的内部逻辑,这对于游戏的二次开发、功能优化或者学习游戏编程都是极其宝贵的资源。 四国军棋源码的结构通常会包含以下...

    四国军棋(源代码).rar

    四国军棋是一种深受玩家喜爱的策略棋类游戏,它融合了军事战术、逻辑推理与心理博弈等多重元素。在编程领域,实现四国军棋的源代码是计算机科学的一个典型应用,涉及到游戏设计、算法设计、网络通信等多个方面。 ...

    四国军棋源码C++......

    四国军棋是一种深受广大棋类爱好者喜爱的策略游戏,它考验玩家的布局能力、战术思维和团队协作。本源码是用C++语言编写的,对于初学者和希望深入理解C++编程以及游戏开发的程序员来说,这是一个很好的学习资源。下面...

    程序员 面试智力 题

    先用天平比较两组,如果平衡,则不同重量的球在未称的那组,然后用相同的方法找出具体是哪个。对于13个球,第一次称3个,如果平衡,剩下10个球中有一个不同,按12球的方法找;如果不平衡,找出较重或较轻的那组,再...

    程序员接单宝典

    1. 平台选择:介绍如Upwork、Freelancer、GitHub、GitLab等国内外知名的接单平台,解析各个平台的特点和优势。 2. 个人品牌建设:强调建立专业且吸引人的在线简历和作品集,展示自己的技术能力与项目经验。 3. 关注...

    2022年南昌地区程序员职位薪酬调查报告.pdf

    2. **合资企业**:合资公司的程序员薪酬中位数为111,801元,略高于外资企业,这可能是因为合资企业结合了国内外的优势资源,对技术人才的需求更为迫切。 3. **本土民营企业**:本土私企的薪酬中位数为120,002元,...

    程序员谈如何掌握计算机专业英语.pdf

    由于英语的优势,印度、爱尔兰等国的软件业在国际上比我们更有竞争力,这并不是说我们的程序员在编程和开发能力上不如别人,而是在使用计算机英语水平上差距太大。 现在,已经有越来越多的程序员意识到计算机英语的...

    java程序员招聘面试题

    【Java程序员面试题解析】 Java面试题广泛涵盖了基础语法、数据结构、算法、设计模式、框架、并发编程、数据库、网络、操作系统等多个方面。以下是一些常见面试题的解析: **第一组** 1. **烧绳计时问题**:这是一...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章。首先有两点是需要肯定的:  第一:XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解,等待只会让你失去机会;  ...

    北大青鸟ACCP 6.0 软件开发初级程序员:使用HTML语言和CSS开发商业站点

    随着ACCP课程体系的演进,最新版本ACCP 6.0课程被研发推出,该课程体系汇聚了中印两国软件技术专家的智慧,并且使用全球同步机制,确保课程内容与国际IT技术发展保持同步。 在ACCP 6.0课程体系中,重点增加了DB2...

    非科班出身程序员刷题-MyNaivePoem:我的天真诗

    非科班出身程序员刷题 MyNaivePoem 记录曾经的幼稚作品,大多为初高中时代所做。 目录 夏令营游清华 一舍情缘,两两作伴,三伏天下,四处寻车,五里徘徊,六神无主,七律长征,八方支援,九转回肠,十拿九稳,百年...

    c++用书,介绍国内外的经典教材

    2. **《C++ Primer》**:这是一本C++的经典之作,现在已经更新到第四版。虽然名为"Primer",但这本书并不适合完全的初学者,因为它的内容非常详细,涵盖了C++的许多复杂细节。对于有一定基础的读者来说,这本书是一...

    软件工程师-唐骏日记

    国,他经历了不断尝试、自我拼搏的青年时代;在微软的十年,他从最基层的程序员走到微软中国区总裁的位 子;在即将离开微软的那些日子,他又独自经历了抉择前难熬的分分秒秒;在盛大的四年,他完成了从跨国企 业高管...

    医药生物行业周报第四批医用耗材国采工作正式启动-9页.pdf.zip

    医药生物行业周报第四批医用耗材国采工作正式启动-9页.pdf.zip

    《游戏发展国》最佳搭配.pdf

    - 游戏中的员工具有不同的职业,如程序员、编剧、设计师、音乐制作人等,每个职业都有其特定的属性,如程序、剧本、设计和编曲。员工的年薪与他们的综合能力有关。 - 提升员工的职业等级至LV5可解锁新职业,例如从...

Global site tag (gtag.js) - Google Analytics