大约在五、六年前,我有一位同在一个办公室办公的印度同事。那时我们经常讨论中国和印度近年来发展的比较和经验。虽然他有时显得很不服气,但是客观的来说,把中国和印度这两个相邻的人口大国做个比较,不论是经济增长还是社会发展指标,乃至体育运动水平,中国几乎是全面领先。后来有一天我的这位印度同事放弃了国际公务员的优厚待遇,有几分神秘地回国创业去了。直到最近重新见到他,才得知原来这位仁兄摇身一变,已经成了以自己名字命名的某软件开发国际公司的CEO,业务遍及欧洲北美。我当下才猛然的意识到,不过若干年工夫,印度的电脑软件工业,无论是从业人员的技术水平还是出口创汇额来看都已经远远把中国抛在后面。于是我和这位已经算是IT业老总的印度朋友又开始讨论另一个话题:中国的软件业可以赶超印度吗?
我的朋友说他们目前最担心的是中国低廉而优质的劳动力资源。算下来,中国软件人才的工资水平大概只有美国同行的六分之一,就是与印度同行相比也低15-20%左右。不过,从印度人的角度来看,好在中国软件业追赶印度有还有三大障碍。    第一,语言障碍。英语不流利的中国人难于像印度人那样轻松自如地与国外客户的沟通。
    第二,西方国家对中国保护知识产权的力度心存疑虑,所以在向中国软件公司下订单时多少要留一手,尽量不涉及关键的核心部分。
    第三,中国软件业经营管理水平还不尽如人意,特别缺乏驾驭和操作大型复杂项目的能力。我的朋友好像是怕我不明白这第三点是什么意思,特意引用西方客户对他所说的一句话解释说:如果把一个印度软件工程师和一个中国软件工程师单独比较,谁也不比谁差。但是如果作为一个公司整体,那么不客气地说,中国人还无法和印度人相比。
在我看来,语言障碍不仅不会成为一个长期的桎梏,反而极有可能给中国人带来新的商机。这倒不仅是因为中国的年轻人的英语水平与日俱增,更重要的是通晓中、英两种文字的中国软件工程师其实正好是渴望进入中国市场的西方公司的最佳人才选择。同样,随着中国法律体系的完善和入世后与世界经济的全面接轨,知识产权的保障也定然会达到国际水平。
    所以,中国软件工业追赶印度最大的挑战是就是我们的公司怎样扬长避短,成为有竞争力的团队。一方面这是一个软件业本身管理水平问题,但是从深层次上看,我觉得这里面有一个文化背景问题。我们来举一个也许不太恰当的例子。现在世界各国都有中国餐馆,餐馆里的中国大厨、伙计虽然都是给老板打工的,但是谁也没准备就这么过一辈子。平时给老板干活都留了一手,一旦攒出一点钱,就要另立门户另开一家中国餐馆。结果是中国餐馆越开越多,但谁也不成大气候,永远不会发展成为麦当劳那样的跨国企业。从某种程度上说,中国软件业的精英们也和中国餐馆里的大厨、伙计一样,“宁为鸡首,不为牛后”,谁都想当个CEO,至少也是CFO,COO什么的。所以中国才会出现“你O了吗”这种特别的问候语吧。
    在工作中,接触印度软件公司开发出来的软件,会感觉整个体系架构非常清晰,按照我们的要求实现了全部功能,而且相当稳定。但是打开具体的代码一看,拖沓冗长,水平不咋样。我们自己的一些程序员就有怪话了,说他们水平真低。但是!印度人能够把软件整体把握得很好,能够完成软件,并得到相当好的设计文档。而中国人在那里琢磨数据结构、算法,界面人员就还没编码就想着是Outlook式的还是Visual Studio式的界面。到最后就成为Code高手,对某些特定的开发工具精通,但是就是不能保证能够把一个软件稳当、完整的开发出来。
    一句话,中国的软件开发水平低得很。赶不上印度人,印度的软件公司可以让高中生编代码,它的软件工程水平可想而知。当然,你如果是个很牛的程序员,可估计够呛,因为中国的气氛中,很牛的程序员都很难接受枯燥的软件工程的。我们现在处于深深的自卑当中,感到中国的软件工程水平的低下已经是牵涉到民族劣根性的问题了。
    印度的软件教育水平:我们招聘印度人,给应聘者出了一份与国内差不多的试卷,有基础概念和编程题目。等到他们完成后,我们这些中国的自认高手惊呆了!他们的编程题目简直象是抄袭:程序结构,注释,变量命名就不说了吧,全部都是极其类似!
    反观中国的牛人、高手,每个人有自己的一套。到了新的岗位,先把前任的程序贬损一通,然后自己再开发更多的问题的代码来代替。我的公司统计,一个软件中有4个以上CSocket版本,每个人都觉得别人做得差,自己再搞一套。中国人,就是这个样子,还会辩解说“我们这样有创造性”。其实软件发展,早就走过了求伯君那个编码英雄的年代,程序员已经是个坐办公室的蓝领了。你具备拧好一个螺丝钉的能力就可以了。Code是最低级的事情了。
    因此,当印度朋友半开玩笑地对我建议说:怎么样,你也辞职开个软件公司,当个CEO和我竞争如何?我也半开玩笑地说:如果你替我招聘些各就各位安分守己的印度软件工程师来中国,我一定当仁不让。