尊重反动派(下)

尊重反动派(下)

——再说阿朱的《走出软件作坊》

 

 

4、再说狭义工程

从《人月神话》中,我注意到我们的——大环境下的——工程定义是有问题的。银弹问题中的工程目标其实是:抽象软件构成的复杂概念结构。与此相关的次要目标是:将需求……映射成计算机的执行逻辑。简单地说,这种工程的经典定义中,“完成一个项目”是次要的目标。

而我们大多数的公司,是在为“完成一个项目”而发愁。至于软件的、工程的本质复杂性,与他们是没有什么关系的,也与当下的那个项目没什么关系。而我由此更深一步的认识是:完成项目所得的经验,是了解工程本质所必须的依据。也就是说:实践出真知。

到这时我形成了关于狭义工程的两个主要观点:其一,狭义工程与广义工程,在(人月神话所述的)根本目标与次要目标上是正好相反的;其二,狭义工程的结果,是广义工程讨论的基础,亦即是实践与反思,是广义工程问题得以解决的必要前提。

这两个观点使得我认可了《走出软件作坊》中所体现的实践精神。我不反对对这本书的种种负面评论,因其不足而愈显珍贵。我在那篇评论中说“《走出软件作坊》是具体工程的成功案例”,并不是说阿朱的成功,而是说“狭义工程/具体工程(这样的理论)”成功地找到一个案例。

5、总是有问题

所有我看到的关于这本书的书评中(无论正面或负面的),我认为最有价值的是caoz的一篇“走不出软件作坊 ”(*1)。名字有点哗众,但底子里的确是有料的。因为caoz兄一眼看到了问题所在:“但是,必须说,(阿朱所在的)那个行业和互联网行业完全不可类比。”他甚至强调:“如果你呆在那些行业久了,进入互联网,还不如一个纯粹的新人进来……”

相当精彩。

如果一个人读这本书,忽略了阿朱所在的行业,所处的背景,那么阿朱那些方法也就失去了依托,变成了怪招坏招。caoz兄指出“那个行业”与现在大多数人所处的互联网行业存在区别——当然,具体何种区别却是没有详述的——这已经足以显出caoz的眼光之精到。

再看看caoz的背景,很好,在这篇文章中也讲到过:(caoz有特殊的工作背景和工作资历,)在电信行业呆过,做过企业软件,呼叫中心,也做过网络安全,并且在互联网领域……所以他100%可以理解“阿朱说的情况和故事”。这个,就是读者的背景,以及与作者的共鸣。同时,caoz也由此指出阿朱的不足:他未曾在互联网领域有过经验。

事实上,不单如此,我第一次见阿朱,也给阿朱说过:你缺乏大公司的工作经验(正好这一点caoz在后文中也提到了)。所以现下我们讨论这本书,要看到这些背景,书中对“大公司的模式”,以及对“互联网的模式”讲述得是几近于无的。同样的,处于这样的背景中的读者来看这本书,一定要小心而慎重——他或许可以帮你理解别人(例如你的客户、小公司),而对于你所在的环境,则未见得适用。

再举一个有趣的例子。

o6z在“你的就是我的 ”引了一段评论(*2),这是robert回复阿朱的,说:“你的老板真是 NB,把决定公司生存和发展的方向问题交给你这样的 CTO,自己天天忙销售忙资金忙公司管理来实现你的方向,佩服佩服。”当然,o6z持以相同的观点,说“大家自己接着思考下去吧”。这个例子其实相当地好,因为o6z并不知道,在许多小作坊里,老板其实什么也不懂,从做什么,到怎么做一概无知。能“忙销售忙资金忙公司管理”的老板已经相当不错了,有些老板还几乎什么都不忙,只是见客户拉关系找生意,事情到头了,全是CTO(或别的什么名头下的一个高管)去忙。这样的公司可是不少。这样的公司,难说就没有必要存在了吗?robert以及o6z对“存有这样现象”的公司一笑置之,而偏巧许多小公司就是活在这样的规模和环境之下。

所以,脱离环境去讨论工程,一如缘木求鱼,所得者非。

再到后来,o6z就提出了“公司老板,或者你的上级的想法,绝大多数情况下不要去揣测。只有混子才会去琢磨老板的,因为他们是要混。”其实这同样是可笑的,因为在小公司规模下,老板并不怕管理人员去揣测他的意图,反之,他更希望管理团队能理解他的想法和要求。因为团队小,效率就更加重要,老板能尽可能明确表达的,就表达,表达不了的,在某些场合下不适合说的做的,其它的角色就得补上。举个例子来说,大公司里秘书偶尔要给老板打打圆场,在小公司里,连秘书都没有,跟着老板出去的就是挂个CTO头衔的那个“你”,你不打圆场,帮衬一下,有些事情还真下不来。而进一步讲,要放在o6z的语境里,这个人就是个彻头彻尾的混子了,当不得CTO这样神圣的角色了。

哈哈。在小公司里做过就知道,CTO这个TITLE下面,有时候也要打打杂地。

6、尊重反动派

在QCon的讲演里,我就说到过这个小故事,叫“尊重反动派”。这句话其实来自《老子》中的“反者道之动”。我以前很为这句话困惑,一度将它理解为“反者,道之动能”。亦即是说,道的运动,是其相反的力量所推动的。这在一些情况下也是适用的、合理的。比如一些人见别人骂它,便一鼓作气写下三十篇长文来回骂,这就是“反动者”的动能。

但是,这句话还有另一种理解,即“反者,道的动向”。亦即是说,道,总是向着与它相反的方向运动,正所谓物极必反,便是这个道理。从我理解后面这层含义之后,我便愈少与人争辨。

此前说的“争论可能是面子问题”,那是使我在形式上减少了与人争论的兴趣,而对上面这句话的理解,使我在本质上对争论失去了冲动。

既然物极必反,那么所谓正确与错误,都与时间、场景相关。一个观察所得的现象与经验,在时间飞逝之后,现象的本身便没有意义。存在意义的,是对现象的思考与所得。更深层面的,是对现象背后的种种关系的剖析之所得。而这些得,即便是“道”一样的至理,最终仍然向与它截然不同的方向行去。

所以我说“尊重反动派”,因为他们其实是你的目标。你看到他们在反对什么,其实你就在追求什么。阶段性的,你可能需要维护自己的言论,亦或得失面子,但长远地来说,反动派既是你的动能,也是你的动向。比如说,o6z说“这么写作混乱,内容组织莫名其妙,命题奇怪的文章,不应该是一个CTO的作品”,其实的意思不过是说:阿朱,我更希望看到你对这些内容的提炼,而非仅仅是杂陈地叙述。

感谢那些反动派吧,如果他们还将固执地存在。

7、其它

其实阿朱并非不知道这本书所限的环境。他在作者序里说“我只在企业管理软件开发公司工作过,而且只工作了十年,只服务了两家公司,所以我的见识恐怕难免狭隘,欠缺普遍性。有些网友问我硬件开发公司、网站开发公司的开发管理问题,我答不上来。如果哪位网友看了书后非要生搬硬套应用到自己的工作中,我奉劝您千万别这么干。因为每个方法都有它适用的基础条件。比如说……”,所以说阿朱起码是诚实的。至于批评者,如果连作者的序言都没读过,便要开始评论了,起码,也是有失厚道的。

不要一味地听广告。广告总是要打的,酒香也怕巷子深呢。但是广告总是片面地强调“产品”的某些特性,而忽略其它。读者如果只看广告,那就掉沟里了。多读些不同的书评,尊重一下书评中自己“并不那么喜欢”的言论,多冷静下来问问自己的所得所见,才是真读书者。

广告嘛,总是会夸张些。比如今天CSDN里有一个关于JAVA视频培训的广告写着“空前绝后的超经典之作”,你跟这较什么真呢?真要绝后了,难不成天下人都死光了么?所以这广告叫可笑,跟这广告较劲的,也叫可笑。可笑可笑,天下之是之非,可笑而已。

不要认为什么都是错的,也不要认为什么都是对的。好或坏,是有语境的。

不要以为立场摇摆的就是墙头草,不要以为言不切实的就是老油子。需要决策的时候果敢,需要分析的时候犹疑,是好的特性。分不分得清什么时候在决策,什么时候在分析,才是问题。

在数年之后,也许我们仍然可以说“阿朱没有在大公司工作的经验”,但也许,他已经有了“把公司做大”的经验。在此,祝他一路走好。亦愿读者能慎思、明见,以及读有所得。

注:

(*1)《走不出软件作坊》:http://hi.baidu.com/caoz/blog/item/cc99033b905954ed15cecb93.html

(*2)《你的就是我的》:http://ozzzzzz.javaeye.com/blog/362498