umlchina上的一场讨论
今天晚上在论坛精华里看到一篇题为:
“UMLCHINA已经害得很多屁都不懂刚本科毕业的小朋友走火入魔了,
作者3nt,发表于002/02/02 00:36”
原文如下:
“清除余毒将是一项艰巨的任务。
一些刚本科毕业什么项目都没做过的小家伙满口uml、rup、软件工程、cmm等等名词迅速把持了用户单位(甲方)的重要岗位(如项目监理)。对开发项目提出种种不合理要求,给开发单位(乙方)的工作带来了难以克服的困难和烦恼,直接导致了项目无法按期完工以及项目组成员的士气低落,给甲乙双方都带来了时间和金钱上的巨大损失。这些小朋友的共同特征是经常浏览UMLCHINA并不加区别地直接引用umlchina上的某些观点和言论。他们的共同症状都是模型至上论和文档至上论。
因此本人认为非常有必要在umlchina进行一次讨论:澄清什么才是软件开发项目的根本任务,什么才是真正的软件系统,以帮助这些小朋友转变认识,端正态度。
欢迎大家踊跃发言,谢谢。”
下面我想谈谈自己的看法:
本人是去年刚毕业的计算机专业的本科生,从事软件开发才一年多一点,我对软件工程概念懂的只是很少的皮毛,对各位高手来说,本人只能算是刚刚才学会走路的小孩,不知道那位3nt的从事软件开发有多少年了?任何一个程序员都是从“小朋友”向“大朋友”过度的,当前各种软件开发规范越来越多,大学里最先接触的是软件工程,其次才是uml,其次才是rup,结果现在又出来一个什么xp,本人只听说过windows xp,office xp等等其他很多软件都带得有xp,本人一直没有搞懂为什么那么多的软件都带了一个xp??难道是赶时髦?更奇怪的是居然软件规范里也出了一个xp(请各位高手能告诉我是什么东东,谢谢)???
(1)3nt那位“大朋友”说我们好象没有必要知道那么多的名词,我认为对于任何一样新的知识,我认为每个人都有权利了解(可惜的知识更新太快,跟不上速度),然后对每样新的知识通过了解以后才会有对比,才能够选择适合自己发展的方向,如果连基本的知识都不懂,如何对比?如何选择适合自己发展的方向?况且每种新的知识都有它自己的精华,我们完全可以通过比较掌握他们精华的地方,对自己的能力提高有很大的帮助。
(2)3nt那位“大朋友”说我们经常提些种种不合理的要求,从而会造成项目的失败。我承认有时候我们会提出不合理的要求,为什么会提出不合理的要求,那是因为我们对软件这个行业并不是真正的了解,所以提出不合理的要求是很正常的,这说明我们是在积极努力的思考问题,这有利于我们不断提高自己的能力。我认为造成项目失败的责任并不在我们身上啊,真正的原因应该是在那些项目主管人的身上,如果他们真正的有能力,就应该能判断什么是正确的,什么是错误,应该有自己的一套思维能力,而不会听信他人说的。所以项目失败只能说明那些项目主管人没有能力。
(3)3nt那位“高手”认为非常有必要在umlchina进行一次讨论:澄清什么才是软件开发项目的根本任务,什么才是真正的软件系统,以帮助这些小朋友转变认识,端正态度。我想请教3nt两个问题:“软件开发项目的根本任务是什么?,你知道吗?请告诉我,谢谢”,“真正的软件系统是什么?你知道吗?谢谢”。
我对两个问题从我工作开始的第一个月就一直在苦苦的思考,现在也没有想出真正的答案(也许我确实是太笨)。如果你能“准确”的对这两个问题给出“精确”的回答,能够帮助我这个小朋友“转变认识,端正态度”,那说明你是真正的“大朋友”,否则,别太贬低我们这些“小朋友”,任何人都是从“无知”到“有知”,相信3nt也是这么过来的,除非你是“神童”。
所以,我认为某些自认为是“高手”的人不要以为自己工作了好多年就可以随便去教训“小朋友(包括我在内)”,我们提倡的是一个“和平共处,互相帮助”的环境,不希望看到那些“自命清高”的人存在。
注:我说的这些话并不是针对哪个人,请别介意,我只是想说说自己心里的想法而已。
smilemac 回复:
那位朋友的意思我想是这样的:本来一个刚毕业的学生刚出校门时前途无限,可以有机会成为数学家,成为物理学家,成为化学家,甚至成为考古学家,但就因为学了太多的uml,结果只能成为一个哲学家了。呵呵。
hglaz
呵呵,不管将来能成为数学家?物理学家?化学家?考古学家?但是每种“家”都是从“无知”到“有知”啊,每个人都肯定会经历这种“蜕变”的过程(包括我在内),所以,呵呵,不要因为自己“长大”了,就可以对后来的“小朋友”
横眉竖鼻了,smilemac,你说对不对???
newdongkui
凡是不可形而上学,我觉得3NT得话确实有过激得地方,好多达朋友,很多年了,也一直这样理论和虚幻,到不都只是小朋友.UMLCHINA 也不过是个论坛,走火入魔是个人得认识问题,在学校里,刚学软件工程,也都神经兮兮得.如果不幸做到技术管理位置,还确实是害人.
hglaz
举双手和双脚同意newdongkui的话,此贴回答的比较经典,应该列入酷贴,不知道newdongkui朋友是否同意??哈哈
任何人都是从理论到实践,再从实践到理论,所以人人都脱不开理论,关键就看人自己如何把握自己了.如果不幸做到技术管理位置,除非他是"神童"(我不是神童,所以现在还只是写代码的打工仔而已),否则,不仅会给公司带来害处,也说明那个公司的主管能力也有问题。newdongkui,你说是不是??
newdongkui 别提了,一说都是眼泪
smilemac 夫多谋必寡断
一个优秀“软件工程专家”的最好出路可能只是做咨询或参谋,不能当大任.马谡谈兵法连孔明都佩服,可就是不能领兵.还有赵括.软件工程本来是一门技术性很强的学科,可很多“软件工程专家”却整天去流程来流程去,浮于表面上的管理形式化,有多少人能够潜下心去研究软件度量,去研究耦合度,去研究统计测试,自动测试,这些也都是软件工程,怎么少见人讨论(不是完全没有),所有人都避难趋易,背了一肚子名词、概念,谈来头头是道,做起文字游戏来思路清晰,但有多少人能够面临问题时随手拿出一个最适合的软件工程工具或其变种来解决问题呢?而这样的能力需要你去真正潜心去研究具体的软件工程工具,真正掌握各种工具的精髓,化多谋为少谋,将书读薄,而不是读厚。
newdongkui
很精彩的话,你的文字,基本赞成,我有些不同,在软件开发和实施过程中,人是最主要的,而不是工具,工具浅尝则止,深入理解客户的需要和业务是关键,人多多积累业务专业知识,才可厚积而薄发.其次,书读薄,并非终点,用,可让书变厚,而复薄.
smilemac
对,一样的,我说的工具不是指软件工具,而是如测试方法,度量方法等这些技术工具。这些东西都非常有用,尤其在时间紧,人手不够的情况下。
hglaz
对,我认为真正的“软件专家”不在于他满嘴的“之乎者”也,而在于他面临问题时是否能将书上的理论“真正的”应用于实际,能否能否将问题“分,而治之;治,而合之”。可能“理论用于实践”这句话很好说,但是真的做起来,却很难。这我可是有亲身体会的,至今想来还“心惊动魄”(可能说的很夸张,却是我最难忘的一件事情)。
另外,smilemac在最后说到的关于工具(不是指软件工具,而是测试方法、度量方法等),可惜现在又有多少人愿意给我们这些小朋友讲解这些方法呢?我们这些小朋友得不到高人的指点,又怎么能掌握软件工程的精髓呢并将之很好的运用于实际中去?我现在在工作中,很多时候都是瞎猫,在软件领域里乱转,很多时候都只能靠自己在不断的“头破血流”中汲取教训,获得新的知识。但有时候撞的“晕头晕向”,都还是没办法找到答案,缘何?没人愿意指点。
所以,我认为“软件专家”这两个字并不能因为他的工作时间长,是大朋友,就可以“自封其号”,很多时候,还应该记得帮助小朋友进步,让我们这些小朋友少走弯路。只有这样的“大朋友”,我才认为他已经有1/5的资格可以当“软件专家”了。