中青在线
2000年7月5日
星期
加入收藏 | 新闻回顾 | 检索 | 中青论坛 | 广告
小调查
首页->> 中国青年报

   

看看印度软件人
2000年07月05日 00:13:36

戴表

  ○他们颇有发达的大国风范,很讲究。不像我们,马马虎虎,随意性很强

  ○他们做事的风格很书面、很理论,相比之下我们就显得有些农民和作坊气

  ○我们这个中国公司有意将
核心软件开发全外包给印度公司

  哥伦布当年拼命找的是印度人

  我在工作中,接触到印度软件人和他们开发出来的软件。从整个体系架构上看,他们的作品非常清晰,按照我们的要求实现了全部功能,而且相当稳定。但是打开具体的代码一看,拖沓冗长,水平不咋样。我们自己的一些程序员就有话说了,说他们水平真低。但是!印度人能够把软件整体把握得很好,能够完成软件,并弄出相当好的设计文档。而我们的软件人在那里琢磨数据结构、算法,琢磨细节,各干各的。界面人员还没编码就想着是Outlook式的还是VisualStudio式的界面。不管是兵还是将,都认为自己已经成了Code(编码)高手。

  我们对某些特定的开发工具可能是精通的,但是就是不能保证把一个软件稳当、完整地开发出来。就跟中国足球一样,单个技术还说得过去,小快灵嘛,但整体就不行了,不能互相激发,整体欠精彩。

  我们似乎缺乏具体事情具体分析的能力(或是不屑于分析,只要能显示个人技术就行),总是走一种套路。举个简单的例子:软件中需要一个列表,用来表示我们处理的事务。该类表在业务繁忙的时候将变得很大。中国人总是用双向链表,抱着《数据结构》书在那里写链表的类。而我雇的那些印度人根据情况,有时就抛弃链表,直截了当开一个大数组。为什么印度人不用链表?他们说:你们给出的设备(小型机),最少具备512M内存,占用一些没有什么。另外,数组方式访问方便、效率高。他们干事情就这么简单明了,跟哥伦布竖鸡蛋一样(怪不得哥伦布对印度那么向往,不期然发现了印第安)。各位看出了一拿到项目就吭哧吭哧做Code,和好好进行软件分析的不同了吧?

  印度人不是我们想象的那样随意马虎

  正好,前几天我有几个同事从印度回来,交流后使我更加确信,印度人不是我们想象的那样随意马虎,实际他们的做法颇有发达的大国风范,很讲究。不像我们,马马虎虎,随意性很强(英国人纵有千般不好,但有一点,非常规范,这个世界的许多程序和规则都是他一家定出来的,什么格林威治时间、全球经纬、英美法、现代大工业结构……他们过去总看不起亚洲人,尤其是印度人和中国人,认为没规则,或是有规则不执行,玩undertable,即私下交易。现在印度人至少在软件业看不出这种毛病了)。

  请看印度那家公司给我的几点感受吧:1,流程重于项目。2,质量监察独立于研发部门,专门检查研发部门的开发流程是不是按照既定流程走。如果QC(质量管理)人觉得流程不对,他会直接上报高层,项目肯定就此停止。3,所有的材料(包括草稿)都有文档。4,准备工作做得很充分,详细文档要求达到拿到这个文档就可以编码的程度。一般写文档时间占60%,而编码时间极少。5,有各种详细的review(同行评审),项目组内的、项目组之间的、客户的……6,计划很详细,几十天的大项目竟能精确到小时级。

  我们这些自认的中国高手惊呆了

  一句话,中国的软件开发水平很低,赶不上印度人。甚至我们现在许多人都处在深深的自卑当中,感到中国的软件工程水平的低下已经是牵涉到“民族劣根性”的问题了。比如,印度人做事的总体风格很书面、很理论,相比之下我们就显得有些农民和作坊气,有了好的线索,我们并不跟着干,总是要看到有了试验田,而且稻子长得好,才换稻种,而在中国的软件开发水平下,又很难给你一个好的例子。要知道,这个时代,一天等于二十年,在国外,上述软件开发模式的应用,大可以看看Rational(合理的)网页上的例证,Just do it(做就是了)!

  我们招聘印度人,给应聘者出了一份与国内差不多的试卷,有基础概念和编程题目。等到他们完成后,我们这些自认的中国高手惊呆了!他们做的编程题目简直像是有统一答案,程序结构,注释,变量命名就不说了吧,表达方式都极其类似!反观中国的牛人、高手,每个人有自己的一套。到了新的岗位,先把前任的程序贬损一通,然后自己再开发有更多问题的代码来代替。我统计了一下我的公司,一个软件中有4个以上CSocket版本,每个人都觉得别人做得差,自己再搞一套。中国人,就是这个样子,还会辩解说“我们这样有创造性。”

  每个公司都上演旧时代的韬略之策

  其实软件发展,早就走过了求伯君那个编码英雄的年代,程序员已降成是个坐办公室的蓝领了,你具备拧好一个螺丝钉的能力就可以了,Code是最低级的事情了。其他国家的许多公司的项目经理根本就不懂技术。中国的项目经理如果不能在技术上压服下属,那么下属将与他搞鬼,越是高手越喜欢搞鬼,在内部搞不团结。技术高手都会纠集一些崇拜他技术的菜鸟,与管理层作对,根本不知道做软件的终极目的是从别人兜里掏钱。而印度的软件经理根本就不懂正在做的东西,许多甚至直接就是MBA,或者是领域专家(工业设计、地理专家等),而不是编码的专家。但是却能够领导大群素质良好的程序员把工作做好,没有内部不团结的情况。

  许多印度的程序员加入一个公司很长时间,都不知道自己整天编的代码是干什么用的。给他们的任务可能就是一个函数的声明以及该函数要实现的功能。我们呢?

  印度的软件公司的编程人员流动率(包括内部项目之间的流动)高达30%,他们可以让高中生编代码,可以想见他们整体的文档水平如何。他们的产品不依赖任何一个人,谁都可以立即辞职,产品的开发还会正常进行。而中国,是老板怕总工。技术骨干拥兵自重,抗拒管理。任何制定好的计划,都有可能被技术人员推翻或者跟你消极怠工。而老板物色到了可以替代的人,或是项目到了鸟尽弓藏的阶段,会想办法把已经坐大的技术骨干开了。每个公司都上演旧时代政治韬略那一套。

  如果一个印度公司的项目经理没有上班,那么他的下属将可能不知道作什么。他们的计划普遍定到天,有的定到小时。每个基层开发人员每天的工作量就是8小时。而我们能够给出月度计划的公司就很少,而给出的月度计划要么不可能实现,要么可能被取消。开发人员被粗略地给个任务,在月初,他可以慢慢琢磨是做成什么样子,然后上上网,聊聊天。到了月中和月末,就开始熬夜编码。

  我公司有意将核心软件开发全包给印度公司

  看到每年从各大高校不尽牛人滚滚来,我们是不得不招人,同时又是不抱希望。我公司现在有意以后将核心软件开发全外包给印度公司,中国人?做做界面吧,中国人做界面会极尽奇技淫巧,搞得花里胡哨的。我公司非外企,大家不要误会我们有什么种族歧视。但是我们现在不得不对自己歧视,自卑得很。某某院那么多研究所,连个能用的操作系统都搞不定。某大学开发一些东西,比如什么青鸟CASE,就是给一帮人评职称的。某某院士整天搞来搞去,搞出了什么东西?某大,T大的人最难管理,牛得看不见人。中国的程序员骂微软,追Linux是全世界最狠的,可是我们除了汉化Linux,做了什么东西出来?CDE是瑞典人写的,Linux是芬兰的,GNome是墨西哥人写的。唉,我们有些人曾经是那么瞧不起印度人。

 

 

 发表评论: 昵称  密码 匿名发表 注册会员
(本站注册用户请将此复选框钩掉,并输入在本站注册的用户名和密码发表评论) 
 
查看文章评论 打印】 【关闭
中青在线版权与免责声明: 

  在接受本网站服务之前,请务必仔细阅读下列条款并同意本声明。

  1. 凡本网注明"来源:中青在线或中国青年报"的所有作品,版权均属于中青在线或中国青年报社,未经本网授权,不得转载、摘编或以其它方式使用上述作品。
  2. 本网授权使用作品的,应在授权范围内使用,并按双方协议注明作品来源。违反上述声明者,中青在线将追究其相关法律责任。 
  3. 凡本网注明“来源:XXX(非中青在线)”的作品,均转载自其它媒体,转载的目的在于传递更多信息, 并不代表本网赞同其观点和对其真实性负责。
  4. 本网站文章仅代表作者本人的观点,不代表本网站的观点和看法,与本网站立场无关,文责作者自负。 
  5. 如因作品内容、版权和其它问题需要联系的,请在30日内与本网联系。
   联系方式:中青在线信息授权部 电话:010--64098058