[技术帖]高来高去的扯淡

刚看了一篇的《软件工程师与程序员的差别》,明显是中了某些所谓“大师”的毒太深的。

从前我们搞语言祟拜,后来又有了模式祟拜和软件工程祟拜,现在则流行UML祟拜和架构祟拜。《国际歌》说得好:从来就没有什么救世主。F.Brooks在二十多年前说过:没有银弹!–实践是检验真理的唯一标准,这二十多年来的实践已经证明,Brooks的论断是正确的。

第一,在编码之前,不能有效地理解软件的设计思路与内容,具体表现为不能充分理解规范的UML模型;
如果Coder不能有效理解,仅仅是Coder的问题吗?Architect有没有把他的设计思路说明清楚?而且UML也不是设计的唯一表达手段,还有就是Architect自己是否对需求作了正确的理解,也许他的设计本来就是错的。再说了,如果Coder的水平高到可以很容易地看明白设计思路,甚至纠正其中的错误,那还要Architect干什么?

第二,在编码之后,不能向集成测试或系统测试人员提供高质量的代码,具体表现为不能自觉地进行单元测试;
不能自觉地进行单元测试固然主要是Coder的责任,但是按TDD的精神来说,测试(名词)是需求的表现,它应该是“先行”,而不是在编码完成后。这里同样存在一个问题:Architect在编码开始之前能否做到将需求细化到可以测试的程度?

第三,在编码过程中,不能有效地与其他开发人员进行协作,具体表现为缺乏基本的软件配置和变更管理概念与实践基础。
协作不良的问题存在着中国传统文化的基础,但还有一个很关键的原因是:公司自身的团队建设工作做不到位,也就是说那些Manager们有很重要的责任。至于软件配置和变更管理的使用完全没有技术含量,只要作一个简短的培训就行了,关键在于长效管理机制,比如制度化的Daily Building等。这些跟Coder也没有什么关系。

作为一名Coder,最重要的是把Coding工作做好。

地球人都知道,一个软件的成功或失败,并不完全是Code的原因。如549在ari的《漸近, 悟道!》的回复中所说:事实上,现在大部分人连做coder都不合格。这是一个很重要的事实。在这种情况下鼓吹Coder需要具备那些本该是Architect和Manager的素质是一种很阴险的论调。如果Coder们都有这样的能力的话,还要你们这些Architect和Manager干什么?

同样是在ari的《漸近, 悟道!》中,小错回复说:

不同层次的人对自己职业人生的规划和认识都不一样,就像你几年前醉心于技术细节研究,感觉做一个coder很爽,过两年coder不能带给你快感,你渐渐从喜欢研究架构,团队….于是你觉得PM才是你的追求,再过两年,你觉得PM的成功还不够,于是你就开始搞些资本运作,大谈管理理念。再过两年你已经是个国际人士了,开始和陈天桥平起平坐啦,有过两年你开始热心于写写自传,到企业传道授业其实关键是不要停止思考不要满足现状就行,至于此刻悟道的,过两年回头看看觉得很可笑,因为你又在另一个层次了。

这揭示出了其中的根本原因:那就是做Coder没有提升的通道。

每个人都有自己的特长与适应的范围,并不是所有人都适合于做Architect或Manager,更不用说什么资本运作之类的。按《彼德原理》的说法,当一个人被升到一个不能胜任的位置的时候,就会开始有这样的表现:故意表现出一种高深莫测的感觉

或者如本文的题目所说:高来高去的扯淡。

我不敢说国内所有的Architect或(Project) Manager都是如此,但至少是大部分。最简单的判断这种人的方法就是:他们是不是在项目进展出现问题时,把责任一味地推给Coder。

其实本文的题目源于前几天与令狐在MSN上的闲聊。令狐说:

其实现在感觉那些关于Architect的所谓技术都是扯淡,这种高来高去的东东还不是说什么就是什么。国内谈这些东西的目的很简单,就像我在群里说的“资本运作”一样,弄点新概念出来吹吹,一是可以显示自己“了不起,这么新的东东我都理解了”;二是吹这个没风险,又不需要实际系统也不需要具体案例

我补充道:还可以骗钱。中国的软件业没希望了,没人想踏踏实实地做事。

令狐:现在整个环境就是如此,大家都很浮躁,公司首先浮躁,客户也浮躁。因为现在很多项目是官方的,他们不怕花钱,所以工程商也无所谓,我只要我想要的效果,钱无所谓。就是这样。如果真的要花自己的钱,恐怕很多人就会认真的想想这个功能是不是自己真的需要的了

其实ari在《漸近, 悟道!》中说出了软件的本质:真正的用戶(或者說成熟的用戶),永遠不會在乎你技術細節的選擇他只關心他的需求得不得到滿足!

我在《效颦篇:编程本质论》也曾经表达过类似的观点:软件开发就两个重点,一个是需求,一个是对需求的实现。其它的手段都是为这两个重点服务,否则就是本末倒置。

那些高来高去扯淡还是少一点,多干点实事吧。

20 Replies to “[技术帖]高来高去的扯淡”

  1. 去年下半年在谈质量改进时,我的意见是强烈关注coder的本身素质,投入程度,重视激励,培训和交流….结果是流程论者胜利了….所有的一切都用几个文档来代替…我无言了,现在我也不code了。

  2. 我比较没前途,暂时还满足在第一个阶段,对于“过两年coder不能带给你快感,你渐渐从喜欢研究架构,团队….于是你觉得PM才是你的追求,再过两年,你觉得PM的成功还不够,于是你就开始搞些资本运作,大谈管理理念。再过两年你已经是个国际人士了,开始和陈天桥平起平坐啦,有过两年你开始热心于写写自传,到企业传道授业”我觉得我还玩不来。。。。。。。

  3. 回复: [技术帖]高来高去的扯淡底杰斯特拉一直在用c++ coding.不coding,我实在找不到成就感!除了去提炼需求,从设计到coding,每一步都是成就感的一部分,如果不coding,感觉sy到最后给掐住了,那多难受啊!!————————————现在流行持久啊,这多好。。。

  4. 过两年sy不能带给你快感,你渐渐喜欢研究SM,3P…于是你觉得群P才是你的追求,再过两年,你觉得群P的成功还不够,于是你就开始搞些AV运作,大谈娱乐理念,再过两年你已经是个国际人士了,开始和武藤兰平起平坐了,又过两年你开始热心于写写自传,给高层人士拉拉皮条….这都什么事嘛….

  5. 底杰斯特拉一直在用c++ coding.不coding,我实在找不到成就感!除了去提炼需求,从设计到coding,每一步都是成就感的一部分,如果不coding,感觉sy到最后给掐住了,那多难受啊!!

  6. 从Coder到Architect还是可能的,但是要付出不少努力;从Architect走到PM,其实是很难的。Architect本质上还是一个技术人员,而PM就变成一个管理人员了。不过,如果不走到PM,就不能搞资本运作,就不能大谈管理理念,哦,接下去救人于七级浮屠的励志书也出不了,国际知名人士就更没边了,那还怎么跟陈天桥平起平坐呢?……国内的陈天桥们实在是不缺的,但是合格的Coder和Architect却不多……

  7. 阿一看不懂大叔写的是什么冬冬~不过要祝你节日快乐!^o^另外,zippo 叶子上那则认领启事好有趣哦!呵呵希望大叔找到好人家

Leave a Reply

Your email address will not be published. Required fields are marked *