考研论坛

 
查看: 9741|回复: 330
打印 上一主题 下一主题

一位中国软件工程师的感言

[复制链接]

574

主题

3844

帖子

7万

积分

荣誉版主

软件硕士

Rank: 8Rank: 8

精华
88
威望
36854
K币
34333 元
注册时间
2001-5-26

考研论坛2007年优秀版主

跳转到指定楼层
楼主
发表于 2009-5-1 22:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这篇文章是一位中国的软件工程师发自肺腑的感言,从中可以悟出中国软件产业中存在的一些问题…………在工作中,我有机会接触到印度软件公司开发出来的软件,发现其特点是:体系架构清晰,层次分明,按照要求实现了用户的全部功能,而且运行相当稳定。打开代码一看,我的天呀!拖沓冗长,编程水平实在不敢恭维。我马上叫本单位的其他程序员来看看,他们说印度人编程能力真低,还不如中国软件专业二年级的大学生水平。但是,印度人能够把软件整体结构把握得很好,能够完成大型复杂的软件,能够形成相当好的设计与实现文,能够在国际外包市场上占据很大比例。而中国人整天在那里琢磨着的是数据结构、算法花样和界面花招,到最后只能成为Code高手,而不是一个庞大团队。这些高手虽然对某些特定的开发工具非常精通,比如.net和J2EE开发平台。但就是不能按质、按量、按时把一个大型软件稳妥而完整地开发出来。难怪有人说:一个中国人是条龙,多个中国人是条虫!……举个简单的例子:软件中需要一个列表,用来表示处理的事务。该列表在平时很小,在业务峰值的时候变得很大。中国人就用双向链表来设计,抱着《数据结构》书在那里拼地写链表。印度人只开了一个大数组,然后就开始干。为什么印度人不用链表,他们说:“你们给出的设备是小型机,最少具备512MB内存,浪费一些内存没有什么了不起,而且数组方式访问方便、效率高。”此时,你看出了一拿到东西就研究数据结构、探讨算法分析、吭哧吭哧作Code的中国人,和好好进行系统分析与设计的印度人有什么不同了吗?……正好前几天有几个同事从印度回来和我们交流,那家公司是CMMI4级公司,他们感受到的几点是1)     流程重于项目;(2)     QC(就是质量保证QA)独立于研发部门,专门检查研发部门的开发流程是不是按照既定流程走,如果QC觉得流程不对,他会直接上报高层,项目开发肯定就此停止;(3)     所谓的项目经理一般也是从编码人员升上来的,并不是所谓的不懂技术的外行经理,他们一般都至少有四年以上的编码经验;(4)     项目经理主要就是制定开发计划,负责协调,填写各种表格;(5)     所有的东西(包括草稿)都有文;(6)     详细文要求达到:只有这个文就可以编码的程度。一般写文时间占60%,编码时间极少;(7)     有各种详细的Review(同行评审),同行评审可以是项目组内部的,项目组之间的,客户的……;(8)     计划很详细,的确能达到小时级,但是实际情况还是误差比较大,所以他们也有加班。……先学习统一建模语言UML、开发工具Rose以及Rational迭代模型RUP,不要总是要找到这些语言、工具和模型成功的证据。目前在中国的软件开发水平下,很难给你一个好的成功案例,来作为这些语言、工具和模型的成功证据。中国人总是要看到一个东西有了试验田,而且稻子长得好,才换稻种,你想要知道国外软件开发模式应用的成功案例吗?请看看Rational网页上的story吧。Just doit!一句话,当前中国的软件开发水平还很低,赶不上当今的印度人、以色列人和爱尔兰人。印度的软件公司可以让高中生写代码,由此可见他们的软件工程管理水平之高。当然,如果你是个很牛的程序员,可能很不服气。但是我要告诉你:在中国的软件环境中,很牛的程序员一般是很难接受软件工程观点与方法的。你可以测试一下自己,看看自己适不适合现在学习的软件工程:(1)     你是不是不能忍受一个编程序不如你的人做你的项目经理?(2)     你是不是觉得你的老板对客户吹牛皮时,夸大他自己的作用而感到不舒服?(3)     你是不是一个拿到需求之后,脑袋里第一念头就是如何Code的人?(4)     你是不是很崇拜Stallman,Linux,很讨厌Microsoft?(5)     你是不是曾经在深夜编码的时候,突然感觉到一种乏味,对Code的生涯感到一种无趣?……我们现在处于深深的自卑当中,深感中国的软件工程水平的低下,已经是牵涉到族劣根性的问题了,与印度人、以色列人和爱尔兰人比较起来,我们存在如下问题:(1)印度的软件教育水平规范。我们招聘印度人,给应聘者出了一份与国内差不多的试卷,有基础概念和编程题目。等到他们完成后,我们这些中国的自认高手惊呆了!他们的编程题目简直像是抄袭的!程序结构、注释、变量名就不说了吧,全部都是极其类似!反观中国的牛人和高手,每个人都有自己的一套。到了新的岗位,先把前任的程序贬损一通,然后自己再开发更多的问题代码来代替它。我们公司统计,一个软件中有4个以上版本,每个人都觉得别人做得差,自己再搞一套。中国人,就是这个样子,还会辩解说:“我们这样是创新”。其实软件的发展,早就走过了求伯君(20世纪90年代的编程开才、WPS的发明人、现任金山软件股份有限公司董事长兼总裁)那个编码英雄的年代,程序员已经是个坐办公室的蓝领了。你具备拧好一个螺丝钉的能力就可以了,因为Code是最低级的事情了。由此联想到中国的软件教育水平现状。在高校软件教育中分什么研究型大学和应用型大学。研究型大学是培养理论研究型人才,即理论创新型人才。请问:软件中有多少理论难题等待这些人才去研究?去创新?这样的难题很少很少!软件公司需要的软件人才,主要是系统需求分析、系统架构设计、系统测试、过程改进与过程管理、程度编码的人才,即应用型人才!难怪国内一些博士生不适应在企业工作,软件公司将他们轰走的事常有发生。(2)印度许多公司的项目经理懂技术,但是不懂很深的技术。中国的项目经理如果不能在技术上压服下属,那么下属将对他搞鬼,越是高手越喜欢搞鬼,他们根本不知道做软件的终极目的是从别人兜里掏钱,而不是在自己内部搞不团结。在中国,技术高手一般都纠集一些对他技术上崇拜的菜鸟,与管理层作对。而印度有的软件经理就不懂自己正在做的软件编码,因为他们许多就MBA,或者是领域专家(工业设计、地理专家等),而不是编码专家。但是却能够领导一大群素质良好的程序员把工作做好,不存在内部不团结的情况。许多印度的程序员加入一个公司很长时间,都不知道自己整天编的代码是干什么用的。给他们任务可能就是一个函数的声明,以及该函数要实现的功能。想想我们呢?(3)印度的编程人员的流动率达到30%!由此可以想象他们的文水平如何高明。他们的产品不依赖任何一个人,谁都可以立即辞职,产品的开发照样正常进行!这是为什么?因为他们的软件企业是大规模的现代化生产企业,生产的主体是蓝领。而中国,有时是老板怕项目经理,项目经理怕Code高手。因为技术骨干拥兵自重,抗拒管理。任何制定好的计划,都有可能被技术人员或者跟你消极怠工。这是为什么?因为我们的软件企业是小规模手工作坊式的生产企业,生产的主体是艺术工匠。(4)印度大部分软件组织达到CMMI3级以上,所以开发计划能够做到小时级别。如果一个印度公司的项目经理没有上班,那么他的下属将可能不知道做什么。他们的谋划一般都定到天,每个基层开发人员每天的工作量就是8小时。而我们能够给出月度计划的公司就很少,而且给出的月度计划要么不可能实现,要么可能被取消。开发人员被粗略地给个任务,他在月初,可以慢慢琢磨做成什么样子,然后上上网,聊聊天。到了月中和月末,就开始熬夜编码了。……当然,中国也有少量规范的软件公司,这些公司大部分分布在大连市,专门从事日本的软件外包项目开发。……以上就是一位中国的软件工程师发自肺腑的感言!这也是一般中国软件企业的真实写照!这揭示出我们与与印度软件企业的差距!差距不仅仅在于软件公司的规模,而在于软件人员的职业素质与道德规范!究其原因,在于软件组织内部的CMM/CMMI管理水平。印度人做CMM/CMMI是真正做给自己用的,即自己的软件组织过程改进。中国人做CMM/CMMI有时是做给别人看的,比如在招标或投标中装装门面,在广告中壮壮声势,而不是专门为了实现自己的软件组织过程改进!
[/hide]

[ 本帖最后由 llljj 于 2009-6-24 12:43 编辑 ]
    回复

    使用道具 举报

    0

    主题

    29

    帖子

    124

    积分

    一般战友

    Rank: 2

    精华
    0
    威望
    66
    K币
    58 元
    注册时间
    2008-7-20
    沙发
    发表于 2009-5-1 23:01 | 只看该作者
    我看看啊
    回复

    使用道具 举报

    27

    主题

    682

    帖子

    1655

    积分

    中级战友

    Rank: 3Rank: 3

    精华
    1
    威望
    238
    K币
    1417 元
    注册时间
    2006-4-15
    板凳
    发表于 2009-5-1 23:26 | 只看该作者
    看看看看
    回复

    使用道具 举报

    45

    主题

    1134

    帖子

    4274

    积分

    高级战友

    Rank: 4

    精华
    2
    威望
    1113
    K币
    3161 元
    注册时间
    2008-3-7
    地板
    发表于 2009-5-1 23:35 | 只看该作者
    看看!!多谢版主
    That never was and never will be.
    回复

    使用道具 举报

    0

    主题

    15

    帖子

    35

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    0
    K币
    35 元
    注册时间
    2003-10-4
    5
    发表于 2009-5-1 23:48 | 只看该作者
    533
    回复

    使用道具 举报

    9

    主题

    142

    帖子

    538

    积分

    中级战友

    Rank: 3Rank: 3

    精华
    0
    威望
    150
    K币
    388 元
    注册时间
    2008-6-28
    6
    发表于 2009-5-1 23:56 | 只看该作者
    看一下什么东东
    回复

    使用道具 举报

    0

    主题

    234

    帖子

    516

    积分

    中级战友

    Rank: 3Rank: 3

    精华
    0
    威望
    60
    K币
    456 元
    注册时间
    2008-9-13
    7
    发表于 2009-5-2 00:03 | 只看该作者
    的确是好东西
    回复

    使用道具 举报

    7

    主题

    72

    帖子

    148

    积分

    一般战友

    Rank: 2

    精华
    0
    威望
    0
    K币
    148 元
    注册时间
    2009-1-22
    8
    发表于 2009-5-2 00:06 | 只看该作者
    看看看看
    回复

    使用道具 举报

    1

    主题

    93

    帖子

    242

    积分

    一般战友

    Rank: 2

    精华
    0
    威望
    40
    K币
    202 元
    注册时间
    2008-10-26
    9
    发表于 2009-5-2 00:50 | 只看该作者
    [qq:13]
    回复

    使用道具 举报

    1

    主题

    19

    帖子

    38

    积分

    新手上路

    Rank: 1

    精华
    0
    威望
    0
    K币
    38 元
    注册时间
    2009-3-29
    10
    发表于 2009-5-2 01:47 | 只看该作者
    来看看啊
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册 人人连接登陆

    本版积分规则   

    关闭

    您还剩5次免费下载资料的机会哦~

    扫描二维码下载资料

    使用手机端考研帮,进入扫一扫
    在“我”中打开扫一扫,
    扫描二维码下载资料

    关于我们|商务合作|小黑屋|手机版|联系我们|服务条款|隐私保护|帮学堂| 网站地图|院校地图|漏洞提交|考研帮

    GMT+8, 2025-12-28 23:21 , Processed in 0.072963 second(s), Total 8, Slave 8(Usage:7.25M, Links:[2]1,1_1) queries , Redis On.

    Powered by Discuz!

    © 2001-2017 考研 Inc.

    快速回复 返回顶部 返回列表
    × 关闭